自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(25)
  • 收藏
  • 关注

原创 [解题报告]《算法零基础100讲》(第45讲) 位运算 (位或) 进阶

和优秀博主一起学算法1318. 或运算的最小翻转次数基本思路:可以用一个哈希表来存储字母的情况,一共26个字母,我们可以用二级制表示字母的状态,0表示不存在,1表示存在然后将字母的状态和字母长度储存进哈希表,注意坑点,如果哈希表的字母状态相同需要比较字母长度进行更新,将字母数组处理好之后进行遍历class Solution {public: int maxProduct(vector<string>& words) { int m = words.si

2021-12-04 23:57:03 298 2

原创 关于我消失的那件事

静下心来复习期末还有思考一下今后的路吧,不久我就会回来的!

2021-11-23 22:19:51 132

原创 递推都来了,动态规划还会远吗?

递推问题926. 将字符串翻转到单调递增欢迎加入万人千题社区与英雄哥一起打卡这是今天的算法打卡训练《算法零基础100讲》(第28讲) 递推问题简单讲一下最后一题吧926. 将字符串翻转到单调递增926. 将字符串翻转到单调递增如果一个由 ‘0’ 和 ‘1’ 组成的字符串,是以一些 ‘0’(可能没有 ‘0’)后面跟着一些 ‘1’(也可能没有 ‘1’)的形式组成的,那么该字符串是单调递增的。 我们给出一个由字符 ‘0’ 和 ‘1’ 组成的字符串 S,我们可以将任何 ‘0’ 翻转为 ‘1’ 或者将

2021-11-17 23:22:28 387

原创 [题解打卡帖] 《算法零基础100讲》(第27讲) 字符串算法(七) - 高精度

高精度基本模板高精度加法高精度乘法题目415. 字符串相加43. 字符串相乘67. 二进制求和1880. 检查某单词是否等于两单词之和1556. 千位分隔数1945. 字符串转化后的各位数字之和12. 整数转罗马数字1796. 字符串中第二大的数字539. 最小时间差欢迎加入万人千题社区与英雄哥一起打卡今天是打卡的地27天,可以看看英雄哥的对应专栏讲解和题目练习 奥里给《算法零基础100讲》(第27讲) 字符串算法(七) - 高精度基本模板高精度加法string add(string a,str

2021-11-16 22:37:19 319

原创 (题解)《算法零基础100讲》(第21讲) 字符串算法(一) - 字符串遍历

@[toc](字符串算法(一) - 字符串遍历)加入万人千题社区与英雄哥一起学算法《算法零基础100讲》(第21讲) 字符串算法(一) - 字符串遍历1812. 判断国际象棋棋盘中一个格子的颜色题目链接如果所给格子的颜色是白色,请你返回 true,如果是黑色,请返回 false 。给定坐标一定代表国际象棋棋盘上一个存在的格子。坐标第一个字符是字母,第二个字符是数字。示例 1:输入:coordinates = “a1”输出:false解释:如上图棋盘所示,“a1” 坐标的格子是黑色的,

2021-11-10 13:40:58 5123

原创 【第09题】给定 n 和 n 个正整数,输出其中最大的数

线性枚举485. 最大连续 1 的个数1464. 数组中两元素的最大乘积和英雄哥一起学算法今天的题目较为简单,直接枚举 stl真好用485. 最大连续 1 的个数题目链接给定一个二进制数组, 计算其中最大连续 1 的个数。示例: 输入:[1,1,0,1,1,1] 输出:3解释:开头的两位和最后的三位都是连续 1 ,所以最大连续 1 的个数是 3. 提示: 输入的数组只包含 0 和 1 。输入数组的长度是正整数,且不超过 10,000。我们直接定义一个count计数,遍历过程中遇见1就增

2021-11-10 09:10:40 1054

原创 [打卡帖]《算法零基础100讲》(第17讲) 线性枚举(一)

线性枚举485. 最大连续 1 的个数1464. 数组中两元素的最大乘积153. 寻找旋转排序数组中的最小值414. 第三大的数628. 三个数的最大乘积和英雄哥一起学算法今天的题目较为简单,直接枚举 stl真好用485. 最大连续 1 的个数题目链接给定一个二进制数组, 计算其中最大连续 1 的个数。示例: 输入:[1,1,0,1,1,1] 输出:3解释:开头的两位和最后的三位都是连续 1 ,所以最大连续 1 的个数是 3. 提示: 输入的数组只包含 0 和 1 。输入数组的长度是正整数

2021-11-06 23:45:28 147 2

原创 背包问题打卡

背包问题01背包416. 分割等和子集含义:初始化:状态方程总代码今天写了不少背包问题先了解两种背包问题的基本概念01 背包问题:最基本的背包问题就是 01 背包问题:一共有 N 件物品,第 i(i 从 1 开始)件物品的重量为 w[i],价值为> v[i]。在总重量不超过背包承载上限 W 的情况下,能够装入背包的最大价值是多少?完全背包问题: 完全背包与 01背包不同就是每种物品可以有无限多个:一共有 N 种物品,每种物品有无限多个,第 i(i 从 1 开始)种物品的重量为 w[i],

2021-11-06 00:36:25 105

原创 算法100讲第16天

跟着大哥学算法今天的主题看来是位运算啊。朴实无华and看不懂第一道题交换数字,这个位运算见过,直接就呈现了交换数字class Solution {public: vector<int> swapNumbers(vector<int>& numbers) { numbers[0]=numbers[0]^numbers[1]; numbers[1]=numbers[1]^numbers[0]; numbers[0]

2021-11-05 22:23:08 559

原创 算法入门100例(打卡第11天第一题)

题目The number of divisors(约数) about Humble Numbers代码The number of divisors(约数) about Humble NumbershduA number whose only prime factors are 2,3,5 or 7 is called a humble number. The sequence 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 12, 14, 15, 16, 18, 20, 21, 24,

2021-10-31 17:42:45 231 1

原创 动态规划入门练习第N天

1.乘积最大的数组152. 乘积最大子数组给你一个整数数组 nums,请你找出数组中乘积最大的连续子数组(该子数组中至少包含一个数字),并返回该子数组所对应的乘积。示例 1: 输入: [2,3,-2,4] 输出: 6解释:子数组 [2,3] 有最大乘积 6。示例 2: 输入: [-2,0,-1] 输出: 0解释:结果不能为 2, 因为 [-2,-1] 不是子数组。基本思路之前我们在求最大连续子序和中dp的定义为包含nums[i]的最大子数组之和...

2021-10-30 21:38:03 116

原创 打卡算法第10天

欢迎加入万人千题社区与英雄老哥一起学算法目录1.n的第k个因子2.最接近的因数今日前两道水题1.n的第k个因子1492. n 的第 k 个因子题面给你两个正整数n 和k。如果正整数 i 满足 n % i == 0 ,那么我们就说正整数 i 是整数 n的因子。考虑整数 n的所有因子,将它们 升序排列。请你返回第 k个因子。如果 n的因子数少于 k,请你返回 -1。示例 1: 输入:n = 12, k = 3 输出:3解释:因子列表包括 [...

2021-10-30 13:44:55 145

原创 打卡第九天(算术基本定理)

和英雄哥一起光天化日学算法507. 完美数对于一个正整数,如果它和除了它自身以外的所有 正因子 之和相等,我们称它为 「完美数」。给定一个整数n,如果是完美数,返回 true,否则返回 false示例 1:输入:28输出:True解释:28 = 1 + 2 + 4 + 7 + 14 1, 2, 4, 7, 和 14 是 28 的所有正因子。如果直接采用暴力的方法,从头遍历到尾bool checkPerfectNumber(int num){ int su...

2021-10-29 14:13:34 220

原创 打卡第八天(素数筛选)

和英雄哥一起光天化日学算法204. 计数质数今日的题目又遇见了熟悉的TLE统计所有小于非负整数n的质数的数量。示例 1: 输入:n = 10输出:4解释:小于 10 的质数一共有 4 个, 它们是 2, 3, 5, 7 。采用暴力方法,判断素数,无论是直接忽略掉大于2的偶数还是在判断长度上设为i*i<n 最终还是免不了TLE了解一下埃及筛我们确立一个质i后,i*i必然是一个合数,i*(i+1)也是一个合数,那么我们可以在筛选出i后用一个标记数组排除掉一部分合数因...

2021-10-29 13:16:33 106 1

原创 动态规划练习(最大子序和)

53. 最大子序和给定一个整数数组 nums,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。示例 1:输入:nums = [-2,1,-3,4,-1,2,1,-5,4] 输出:6解释:连续子数组[4,-1,2,1] 的和最大,为6 。dp[i]的定义为长度为i的数组的最大包括nums[i]子序列和,个人思路是从起点开始遍历,同时不断比较数组dp记录最大值那么考虑dp[i-1]与dp[i]的关系,dp[i-1]的最大子序列和表示包含nums[i-1]...

2021-10-28 23:59:18 164 1

原创 最小花费爬楼梯(动态规划)

746. 使用最小花费爬楼梯数组的每个下标作为一个阶梯,第 i 个阶梯对应着一个非负数的体力花费值cost[i](下标从 0 开始)。每当你爬上一个阶梯你都要花费对应的体力值,一旦支付了相应的体力值,你就可以选择向上爬一个阶梯或者爬两个阶梯。请你找出达到楼层顶部的最低花费。在开始时,你可以选择从下标为 0 或 1 的元素作为初始阶梯。输入:cost = [10, 15, 20]输出:15解释:最低花费是从 cost[1] 开始,然后走两步即可到阶梯顶,一共花费 15 。初.

2021-10-28 23:26:51 246 1

原创 补一下前天写的动态规划

198. 打家劫舍你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。给定一个代表每个房屋存放金额的非负整数数组,计算你 不触动警报装置的情况下 ,一夜之内能够偷窃到的最高金额。示例 1:输入:[1,2,3,1]输出:4解释:偷窃 1 号房屋 (金额 = 1) ,然后偷窃 3 号房屋 (金额 = 3)。 偷窃到的最高金额 = 1 + 3 = 4 。...

2021-10-28 21:57:27 64 1

原创 动态规划入门第二天(机器人怎么就飞起来了呢)

动态规划入门不同路径Ⅰ不同路径 II不同路径Ⅰleetcode 62一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为 “Start” )。机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为 “Finish” )。问总共有多少条不同的路径?输入:m = 3, n = 7输出:28基本思路,定义dp [ i ][ j ] 的意义为到达坐标(i,j)的路径条数,那么易得第一行以及第一列dp都为1,因为方向只能向下和向右,然后我们再从第二行到最后

2021-10-28 21:33:00 324 1

原创 (第七天)回文素数字

跟着英雄哥一起光天化日学算法866. 回文素数基本思路写两个函数一个函数 判断素数,判断思路素数较为简单,直接循环遍历1-根号n,判断n%i是否等于0就好了bool iss(int n){ if(n==1) return false; for(int i=2;i*i<=n;i++){ if(n%i==0) return false; } return true;}另一个判断回文数,开一个数组存储n的各个位数,然双指...

2021-10-28 17:16:51 257 1

原创 第七天你知道TLE是什么了吗(特别感谢英雄哥友情出演

丑数来源心路历程不知名的方法代码赖皮系列来源打卡万人千题计划和英雄哥一光天化日TLE和英雄哥一起刷算法心路历程首先先热热身丑数低配版 leetcode 263bool isUgly(int n){ if(n==0) return false; while(n%2==0) n/=2; while(n%3==0) n/=3; while(n%5==0) n/=5; if(n==1) return true; else return false

2021-10-28 15:19:25 773 7

原创 动态规划入门(day01

开头先说说一下感想吧,正式开始养成刷leetcode的习惯大概从国庆开始吧,如今也终于破百,刷了110道题,记得刚开始的时候被各种指针折磨,也曾想过放弃,好在最终坚持下来。基本路线 链表->二叉树->再刷了部分回溯->最近入门动态规划刷链表是熟悉指针操作,而刷二叉树主要在于锻炼你的框架思维,从宏观把握,二叉树大多为递归题目,学习的数据结构的小白可以试着刷刷看呀,体验从痛苦到上瘾道路。刷题不易但也不要放弃贵在坚持,加油各位兄弟。动态规划入门可以选择leetcode的一个动态规

2021-10-27 17:26:10 442 2

原创 第六天题解!!!!

日期计算1185. 一周中的第几天1154. 一年中的第几天一级目录1185. 一周中的第几天leetcode1185题面给你一个日期,请你设计一个算法来判断它是对应一周中的哪一天。输入为三个整数:day、month 和 year,分别表示日、月、年。您返回的结果必须是这几个值中的一个 {“Sunday”, “Monday”, “Tuesday”, “Wednesday”,“Thursday”, “Friday”, “Saturday”}。示例 1:输入:day = 31, month =

2021-10-27 09:44:03 211 5

原创 第五天题解下半部分

后两题1512. 好数对的数目1711. 大餐计数1512. 好数对的数目思路:先用排序函数将数组进行排序,我们可以发现规律举个栗子 相同数字 为 11 1 相同数字个数为 2 好数对为 11 1 1 相同数字个数为 2 好数对为 1+21 1 1 相同数字个数为 3 好数对为 1+2+3因此我们可以通过统计相同数字的个数来计算好数对的个数计算好数对的函数int cmp(void const *a, void const *b) { return *(int *)a - *(

2021-10-26 21:21:40 74 1

原创 第五天题解

第五天题解1748. 唯一元素的和387. 字符串中的第一个唯一字符1748. 唯一元素的和leetcode1748给你一个整数数组 nums 。数组中唯一元素是那些只出现 恰好一次 的元素。 请你返回 nums 中唯一元素的 和 。示例 1:输入:nums = [1,2,3,2]输出:4解释:唯一元素为 [1,3] ,和为 4 。思路:我们可以建立一个标记数组type[i] 用来标记每个元素出现次数 ,进行两次循环遍历,第一次记录各个元素出现次数。第二次遍历查看元素的出现次数是否为1;

2021-10-26 20:34:09 146 3

原创 杨辉三角题解

118. 杨辉三角题目给定一个非负整数numRows,生成「杨辉三角」的前numRows行。在「杨辉三角」中,每个数是它左上方和右上方的数的和。示例 1:输入: numRows = 5输出: [[1],[1,1],[1,2,1],[1,3,3,1],[1,4,6,4,1]]题目不难看出我们要输出得二维数组每一层对应的个数为层数;我们定义结果二维数组为result层数对应数组下标要-1;例如result[0]有1个元素,result[1]有两个,依此...

2021-10-25 21:18:57 355 9

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除