題目描述:
代碼實現:
- 貪心算法,我的思路好像跟那些題解的思路不太一樣。首先做這道題,我先考慮的是什麼情況可以出現false,就是除了數組的最後一位,有一位出現0且這個時候的max=i(因爲max不可能小於i),除了這種情況,其他都是true.
- 時間複雜度:O(n)
/**
* @param {number[]} nums
* @return {boolean}
*/
var canJump = function(nums) {
var max = 0
for (var i = 0; i < nums.length - 1; i++ ) {
if (nums[i] + i > max) {
max = nums[i] + i
}
if (nums[i] === 0 && max === i) {
return false
}
}
return true
};