55. Jump Game(贪心)

Given an array of non-negative integers, you are initially positioned at the first index of the array.

Each element in the array represents your maximum jump length at that position.

Determine if you are able to reach the last index.

Example 1:

Input: [2,3,1,1,4]
Output: true
Explanation: Jump 1 step from index 0 to 1, then 3 steps to the last index.

Example 2:

Input: [3,2,1,0,4]
Output: false
Explanation: You will always arrive at index 3 no matter what. Its maximum
             jump length is 0, which makes it impossible to reach the last index.



看最远能到达的index, 如果最远 index < i 说明到不了。

 







贪心思想
如果当前存的步数now 小于于当前位置可以跳的步数,则更新now now 小于0则死掉了。
 1 class Solution {
 2     public boolean canJump(int[] nums) {
 3         int now = nums[0];
 4         for(int i =1;i<nums.length;i++){
 5             now--;
 6             if(now<0) return false;
 7             if(nums[i]>now){
 8             now = nums[i];    
 9             }
10         }
11         return true;
12     }
13 }

 

posted @ 2018-05-07 17:43  乐乐章  阅读(214)  评论(0编辑  收藏  举报