![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
贪心
996冲冲冲
这个作者很懒,什么都没留下…
展开
-
leetcode45. 跳跃游戏 II
而且前面的j到不了i就更到不了i+1了,所以j不用重置为0而是从当前步开始就行。所以end当前步所能到达的范围结束,i到达end就要计算下一步。由于对于后面的节点,想要到达所需的最小步数肯定大于等于前面的节点。每次贪心的选择 从当前步能到达的范围内,下一次能跳到的最远距离。所以最早能到达i节点的j就是最小的dp[i],j不用遍历了。dp定义为跳到节点i所需的最小步数。原创 2023-02-17 20:56:13 · 41 阅读 · 0 评论 -
leetcode55. 跳跃游戏
这题主要考虑在i之前的所有节点是否都会遇到中途的零,遇到中途的零就完不成。如果有节点路径可以跨过去所有中途的0就说明可以到达终点。所以贪心选择所有i之前能到达的最长路径。原创 2023-02-16 22:51:06 · 39 阅读 · 0 评论 -
leetcode1024. 视频拼接
贪心算法,每次选择开始在上一段视频结束之前的视频片段。使选择的视频结束时间最晚。这样贪心选择的结果最好。原创 2023-02-16 10:54:53 · 46 阅读 · 0 评论 -
leetcode452. 用最少数量的箭引爆气球
题目绕了一堆意思是相交的气球可以一次被射爆。也就是求不相交区间的最长长度。原创 2023-02-15 16:58:08 · 34 阅读 · 0 评论 -
leetcode435. 无重叠区间
每次取最早结束的那个区间计算,删除和它相交的去区间这样贪心计算出的长度就是最长的。贪心计算无重叠的最长区间的长度,之后用总长度减去最长无重叠的长度就是答案。动态规划,dp定义为以i为终点的最长不相交区间的长度。之前的所有区间里与当前区间不相交的加一再取最大的。原创 2023-02-15 16:34:06 · 38 阅读 · 0 评论 -
leetcode714. 买卖股票的最佳时机含手续费
公式:res + [prices[i] - buy1(prices[j])]+ [prices[j] - buy0(prices[k] +fee)] 前面一项相当于第二次卖,后面一项相当于第一次卖。所以可以在卖出大于(购买+手续费)时,卖出但是更新购买费用,所以当后面如果遇到更大的时候相当于反悔了卖给最大的了。所以不能像之前一样遇到大于(购买+手续费)的就操作一次,因为这样在当前卖出取不到最大收益时会浪费一次两次手续费。我们要尽可能的在少花手续费的前提下而尽可能的多赚钱,其实是一致的。原创 2023-02-13 22:30:20 · 64 阅读 · 0 评论 -
leetcode870. 优势洗牌
如果田忌的马能赢,那就比赛,如果赢不了,那就换个垫底的来送人头,保存实力。原创 2022-12-09 23:04:24 · 152 阅读 · 0 评论 -
leetcode763. 划分字母区间
更新规则:1. 具体来说就是到达第一个字母的最后位置之前,如果这之间有新的字母的最后位置更靠后。3. 以此类推,一直到更新不了最后位置了也就是循环走到了段的最后位置时。就是从头开始先找到第一个字母的最后位置,并且更新段的最后位置。题目要求不含重复字母的划分为最多段,所以采用贪心的思想。2. 那么就需要把段的最后位置更新成这个靠后的。4. 这时说明完成了所有更新,到达了分割点。5. 循环进行下一轮的分割。原创 2022-11-02 21:16:14 · 43 阅读 · 0 评论