描述
问最少多少次可以走到数组最后
解决
用一个数记录当前索引号,然后遍历当前的索引范围,得到下一次遍历的最大索引号
class Solution {
public:
int jump(vector<int>& nums) {
int i = 0;
int length = nums.size();
int max_index_now = 0, temp_index = 0, cnt = 0;
while (i == 0 || i < length)
{
if (i > max_index_now)
{
++cnt;
max_index_now = temp_index;
}
if (i + nums[i] > max_index_now && i + nums[i] > temp_index)
{
temp_index = i + nums[i];
}
++i;
}
return cnt;
}
};