首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
代码人生
台风与玫瑰
创建于2022-09-21
订阅专栏
记录自己的刷题记录。
等 2 人订阅
共141篇文章
创建于2022-09-21
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
【算法32天:Day32】第八章贪心算法 LeetCode 跳跃游戏(55)
题目二: 思路 刚看到本题一开始可能想:当前位置元素如果是3,我究竟是跳一步呢,还是两步呢,还是三步呢,究竟跳几步才是最优呢? 其实跳几步无所谓,关键在于可跳的覆盖范围! 不一定非要明确一次究竟跳几步
【算法32天:Day32】第八章贪心算法 LeetCode 买卖股票的最佳时机(122)
题目一: 要清楚两点: 只有一只股票! 当前只有买股票或者卖股票的操作 想获得利润至少要两天为一个交易单元。 #贪心算法 这道题目可能我们只会想,选一个低的买入,在选个高的卖,在选一个低的买入....
【算法31天:Day31】第八章贪心算法 LeetCode 最大子序和(53)
题目三: 解题思路: 贪心解法 贪心贪的是哪里呢? 如果 -2 1 在一起,计算起点的时候,一定是从1开始计算,因为负数只会拉低总和,这就是贪心贪的地方! 局部最优:当前“连续和”为负数的时候立刻放弃
【算法31天:Day31】第八章贪心算法 LeetCode 摆动序列(376)
题目二: 解法一:(贪心算法) 用示例二来举例,如图所示: 局部最优:删除单调坡度上的节点(不包括单调坡度两端的节点),那么这个坡度就可以有两个局部峰值。 整体最优:整个序列有最多的局部峰值,从而达到
【算法31天:Day31】第八章贪心算法 LeetCode 分发饼干(455)
题目一: 为了满足更多的小孩,就不要造成饼干尺寸的浪费。 大尺寸的饼干既可以满足胃口大的孩子也可以满足胃口小的孩子,那么就应该优先满足胃口大的。 这里的局部最优就是大饼干喂给胃口大的,充分利用饼干尺寸
【算法30天:Day30】第七章回溯算法 LeetCode 解数独(37)
题目三: 完整代码: 本题中棋盘的每一个位置都要放一个数字,并检查数字是否合法,解数独的树形结构要比N皇后更宽更深。 一个for循环遍历棋盘的行,一个for循环遍历棋盘的列,一行一列确定下来之后,递归
【算法30天:Day30】第七章回溯算法 LeetCode N皇后(51)
题目二: 解题思路: 首先来看一下皇后们的约束条件: 不能同行 不能同列 不能同斜线 确定完约束条件,来看看究竟要怎么去搜索皇后们的位置,其实搜索皇后的位置,可以抽象为一棵树。 下面我用一个 3 *
【算法30天:Day30】第七章回溯算法 LeetCode 重新安排行程(332)
题目一: 直接看代码: 总结 这道题主要学习一下如何使用map建立这样复杂的映射关系,逻辑更加清晰了。
【算法29天:Day29】第七章回溯算法 LeetCode 全排列II(47)
题目三: 这道题目和46.全排列 (opens new window)的区别在与给定一个可包含重复数字的序列,要返回所有不重复的全排列。 这里又涉及到去重了。 去重一定要对元素进行排序,这样我们才方便
【算法29天:Day29】第七章回溯算法 LeetCode 全排列(46)
题目二: 解法一: 回溯三部曲 递归函数参数 首先排列是有序的,也就是说 [1,2] 和 [2,1] 是两个集合,这和之前分析的子集以及组合所不同的地方。 可以看出元素1在[1,2]中已经使用过了,但
【算法29天:Day29】第七章回溯算法 LeetCode 递增子序列(491)
题目一: 解题思路:这个题自己没写出来,但是整体思路不太行。这个题主要就是要在于递增序列以及不同的递增序列。 递增序列,不能直接对其排序,遍历的时候,如果当前元素小于path内的最后一个元素,就表明这
【算法28天:Day28】第七章回溯算法 LeetCode 子集II(90)
题目三: 解法一:(回溯) 解题思路: 理解“树层去重”和“树枝去重”非常重要同一树层上重复取2 就要过滤掉,同一树枝上就可以重复取2,因为同一树枝上元素的集合才是唯一子集!
【算法28天:Day28】第七章回溯算法 LeetCode 子集(78)
题目二: 如果把 子集问题、组合问题、分割问题都抽象为一棵树的话,那么组合问题和分割问题都是收集树的叶子节点,而子集问题是找树的所有节点! 其实子集也是一种组合问题,因为它的集合是无序的,子集{1,2
【算法28天:Day28】第七章回溯算法 LeetCode 复原IP地址(93)
题目一: 解法一:(回溯) 解题思路:其实只要意识到这是切割问题,切割问题就可以使用回溯搜索法把所有可能性搜出来 回溯三部曲 递归参数 在131.分割回文串 (opens new window)中我们
【算法27天:Day27】第七章回溯算法 LeetCode 分割回文串(131)
题目三: 解法一:(回溯) 解题思路:其实切割问题类似组合问题。 例如对于字符串abcdef: 组合问题:选取一个a之后,在bcdef中再去选取第二个,选取b之后在cdef中在选组第三个.....。
【算法27天:Day27】第七章回溯算法 LeetCode 组合总和II(40)
题目二: 解法一:(回溯) 解题思路:这道题,主要就是要去除重复的结果组合,参考代码随想录。 这个题的“去重”,主要是同一树层维度上的去重,而不是同一树枝维度上的去重。 但其实自己写的代码,加上一行代
【算法27天:Day27】第七章回溯算法 LeetCode 组合总和(39)
题目一: 解法一:(回溯) 解题思路:这个题我并没有传入startIndex,因为我想的是是可以重复的,然后每次循环i都等于0,这样就会有[2, 3, 2]这样的结果加入到result中,然后我在su
【算法25天:Day25】第七章回溯算法 LeetCode 电话号码的字母组合(17)
题目二: 解题思路:主要就是解决数字和字母的映射关系,这个很重要!!! 数字和字母如何映射 可以使用map或者定义一个二维数组来做映射,代码如下: 整体代码: // 或者
【算法25天:Day25】第七章回溯算法 LeetCode 组合总和III(216)
题目一: 解法一:(回溯) 解题思路:有了组合问题(77)的经验,这道题自己大致写出来了,只不过有个别地方没处理好。 本题k相当于了树的深度,9(因为整个集合就是9个数)就是树的宽度。 例如 k =
【算法24天:Day24】第七章回溯算法 LeetCode 组合问题(77)
题目一: 解法一:(回溯) 解题思路:刚接触回溯算法的题目,一点思路都没有,只能跟着代码随想录的题解慢慢进行下去 。 回溯算法理论基础:参考代码随想录。 把组合问题抽象为树形结构: 可以看出这个棵树,
下一页