目录
- [1- 思路](#1- 思路)
- [2- 实现](#2- 实现)
-
- [⭐++55. 跳跃游戏++------题解思路](#⭐55. 跳跃游戏——题解思路)
- [3- ACM 实现](#3- ACM 实现)
- 原题链接:55. 跳跃游戏
1- 思路
贪心
- 利用
cover
记录覆盖的范围,每次覆盖范围移动一步更新cover
并比较大小,如果可以移动则更新cover
2- 实现
⭐++55. 跳跃游戏++------题解思路
java
class Solution {
public boolean canJump(int[] nums) {
// 定义 cover
int len = nums.length;
int cover = nums[0];
for(int i = 1 ; i < len;i++){
if(--cover>=0){
cover = Math.max(cover,nums[i]);
}else{
return false;
}
}
return true;
}
}
3- ACM 实现
java
public class JumpGame {
private static boolean jump(int[] nums){
int cover = nums[0];
for(int i = 1 ; i < nums.length ; i++){
if(--cover >=0){
cover = Math.max(cover,nums[i]);
}else {
return false;
}
}
return true;
}
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String input = sc.nextLine();
String[] parts = input.split(" ");
int[] nums = new int[parts.length];
for(int i = 0 ; i < parts.length;i++){
nums[i] = Integer.parseInt(parts[i]);
}
System.out.println("结果是"+jump(nums));
}
}