这里收录 Hot100 中与贪心相关的题目,重点理解局部选择为什么足以推出全局答案,以及扫描过程中应该冻结哪些状态。
LeetCode 45:跳跃游戏 II,从可达边界升级到最少跳数
题目要求 给你一个整数数组 nums。 你一开始站在下标 0。 nums[i] 表示: 从下标 i 最多可以向右跳多少步 题目要求返回: 到达最后一个下标所需的最少跳跃次数 输入输出 输入:nums: List[int] 输出:int 从下标 0 出发 每个数字表示最大跳跃长度,不是必须跳这么远 题目保证一定可以到达最后一个下标 只需要返回最少跳数,不需要返回具体路径 示例 输入:nums = [2,3,1,1,4] 输出:2 一种最少跳法是: 0 -> 1 -> 4 从下标 0 跳到下标 1,再从下标 1 跳到最后一个下标。 输入:nums = [2,3,0,1,4] 输出:2 虽然中间有 0,但仍然可以: 0 -> 1 -> 4 约束 1 <= nums.length <= 10^4 0 <= nums[i] <= 1000 题目保证 nums[n - 1] 可达 Step 1:45 不是问能不能到,而是问最少几步到 如果刚做完 LeetCode 55,已经知道可以维护: ...