45. Jump Game II
目录
题目描述
贪心
题目描述
45. Jump Game II
贪心
正向查找可到达的最大位置
时间复杂度O(n)
class Solution {
public:int jump(vector<int>& nums) {int n = nums.size();if(n == 1)return 0;int cur_cover = 0;int cover = 0;int res = 0;for(int i = 0;i <= cover;i++){if(nums[i]+i > cover){cover = nums[i]+i;}if(i == cur_cover){res++;cur_cover = cover;if(cur_cover >= n-1)break;}}return res;}
};
反向查找出发位置
时间复杂度O(n^2)
class Solution {
public:int jump(vector<int>& nums) {int res = 0;int n = nums.size();int destination = n-1;while(destination > 0){for(int i = 0; i<=destination;i++){if(i+nums[i] >= destination){destination = i;res++;break;}}}return res;}
};