import java.util.*; public class Solution { public int Jump (int len, int[] nums) { // 初始化 int curMax = 0; // 当前能到达的最远位置 int nextMax = nums[0]; // 下一跳能到达的最远位置 int step = 0; // 跳跃步数 // 贪心算法 for (int i = 0; i < len-1; i++) { // 更新下一跳能到达的最远位置 nextMax = (i + nums[i]) > nextMax ? (i + nums[i]) : nextMax; // 到达当前能到达的最远位置,则进行跳跃并更新边界 if (i == curMax) { step++; curMax = nextMax; } } // 返回结果 return step; } }