2015年9月23日星期三

Leetcode 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.
For example:
A = [2,3,1,1,4], return true.
A = [3,2,1,0,4], return false.
Solution 1: Use greedy, keep track the fastest place (store in next) it can reach, if i<next, then means i can not be reached, return false. Otherwise update the new next, and go to next element.
 public class Solution {  
   public boolean canJump(int[] nums) {  
     int n=nums.length;  
     int next=0;  
     for (int i=0; i<n; i++) {  
       if (i>next) return false;  
       next=Math.max(next,i+nums[i]);  
     }  
     return true;  
   }  
 }  

没有评论:

发表评论