|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
题目描述:
- 给定一个非负整数数组,你最初位于数组的第一个位置。
- 数组中的每个元素代表你在该位置可以跳跃的最大长度。
- 你的目标是使用最少的跳跃次数到达数组的最后一个位置。
- 示例:
- 输入: [2,3,1,1,4]
- 输出: 2
- 解释: 跳到最后一个位置的最小跳跃数是 2。
-   从下标为 0 跳到下标为 1 的位置,跳 1 步,然后跳 3 步到达数组的最后一个位置。
- 说明:
- 假设你总是可以到达数组的最后一个位置。
- 来源:力扣(LeetCode)
- 链接:https://leetcode-cn.com/problems/jump-game-ii
- 著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
复制代码
- class Solution {
- public:
- int jump(vector<int>& nums) {
- int res = 0;
- int cur = 0;
- int len = nums.size();
- while(cur < len-1){
- int step = nums[cur];
- int max_pos = 0;
- int temp;
- for(int i = 1; i <= step; i++){
- if(cur + i >= len - 1)return ++res;
- if(cur + i + nums[cur + i] > max_pos){
- max_pos = cur + i + nums[cur + i];
- temp = cur + i;
- }
- }
- res++;
- cur = temp;
- }
- return res;
- }
- };
复制代码
参考链接:https://leetcode-cn.com/problems ... i-duo-jie-fa-by-10/ |
|