題解:定義一個變量,用來存儲可以到達的最遠位置。初始化為0。
然后對數組進行遍歷,遍歷開始的時候,先判斷當前這個位置和最遠位置誰大,如果最遠位置比較大,那么就說明當前這個位置也能達到,就看看再加入當前這個位置的步數能否達到更遠的位置,對最遠位置進行更新。如果當前位置比較大,就說明到不了目前這個位置,就肯定到不了數組末尾,返回false
class Solution {public boolean canJump(int[] nums) {int maxnum=0;for(int i=0;i<nums.length;i++){if(i>maxnum){return false;}maxnum=Math.max(maxnum,i+nums[i]);}return true;}
}