相关标签
一、题目要求
二、题解和代码实现
1.题解
2.代码实现
代码如下(示例):
class Solution {
public int jump(int[] nums) {
int len = nums.length;
int count = 0;
if (len == 1){
return count;
}
int maxjump=0;
int end = 0;//最多走到的下标
//因为如果是<len的话,当到len-1的时候,判断会再进入一次,count++,
// 答案会多一次跳跃,所以只需要到末尾数据的前一个位置就可以
for (int i = 0; i < len-1; i++) {
//i下标的值和i下标相加 得到 当前i可以往后最多跳多少位置
maxjump = Math.max(maxjump,i+nums[i]);//用maxJump和i+num[i]比较,取大值
if (i == end){//当i下标== end 说明已经走到当前可以走的最远下标
end = maxjump;//把最大可以走的到下标 赋值end
count++;//跳跃次数+1
}
}
return count;
}
}