package LeetCode;
public class Jump {
public int jump(int[] nums) {
//跳跃次数
int cont=0;
//跳出条件
int n=nums.length;
//为了保存每次可以到达的地方
int i=0;
int max=0;
int s=0;
while (max<n-1){
cont++;
int a=max;
i=s;
for (;i<=a;i++){
max=Math.max(max,i+nums[i]);
if(max!=a)s=i;
}
}
return cont++;
}
public static void main(String[] args) {
Jump a=new Jump();
int[] b={2,3,1,1,4};
System.out.println(a.jump(b));
}
}
LeetCode跳数问题解析
本文深入探讨了LeetCode上的一道经典算法题——跳数问题。通过详细的代码解析,展示了如何利用动态规划思想,计算从起始位置到终点所需的最少跳跃次数。此算法在数组中寻找最优路径,适用于面试及算法竞赛准备。
188

被折叠的 条评论
为什么被折叠?



