東莞汽車網(wǎng)站建設(shè)百度指數(shù)排名
給定一個(gè)非負(fù)整數(shù)數(shù)組 nums ,你最初位于數(shù)組的 第一個(gè)下標(biāo) 。
數(shù)組中的每個(gè)元素代表你在該位置可以跳躍的最大長度。
判斷你是否能夠到達(dá)最后一個(gè)下標(biāo)。
示例 1:
輸入:nums = [2,3,1,1,4]
輸出:true
解釋:可以先跳 1 步,從下標(biāo) 0 到達(dá)下標(biāo) 1, 然后再從下標(biāo) 1 跳 3 步到達(dá)最后一個(gè)下標(biāo)。
示例 2:
輸入:nums = [3,2,1,0,4]
輸出:false
解釋:無論怎樣,總會到達(dá)下標(biāo)為 3 的位置。但該下標(biāo)的最大跳躍長度是 0 , 所以永遠(yuǎn)不可能到達(dá)最后一個(gè)下標(biāo)。
提示:
1 <= nums.length <= 3 * 104
0 <= nums[i] <= 105
來源:力扣(LeetCode)
鏈接:https://leetcode.cn/problems/jump-game
著作權(quán)歸領(lǐng)扣網(wǎng)絡(luò)所有。商業(yè)轉(zhuǎn)載請聯(lián)系官方授權(quán),非商業(yè)轉(zhuǎn)載請注明出處。
我的答案
class Solution {public boolean canJump(int[] nums) {int len = nums.length;if(len<=1) {return true;}//記錄最遠(yuǎn)跳的距離int k = 0;for(int i = 0;i<len;i++){//第i個(gè)元素能跳的最遠(yuǎn)距離int temp = i + nums[i];k = Math.max(k,temp);//如果最遠(yuǎn)距離已經(jīng)大于或者等于最后一個(gè)元素的下標(biāo),則說明能跳過去if(k<i+1){return false;}if(k>=len-1){return true;}}return false;}
}