๐ 55. ่ทณ่ทๆธธๆ
2022ๅนด10ๆ10ๆฅ
- algorithm
๐ 55. ่ทณ่ทๆธธๆ
้พๅบฆ: ๐
้ฎ้ขๆ่ฟฐ
่งฃๆณ
class Solution {
public boolean canJump(int[] nums) {
// ๆ่ทฏ๏ผ
// dp[i] - ไปฅ i ไธบๅฝๅไฝ็ฝฎ๏ผ่ฝๅฐ่พพ็ๆ่ฟ่ท็ฆป
int len = nums.length;
if(len == 1) {
return true;
}
int[] dp = new int[len];
dp[0] = nums[0];
if(dp[0] >= len - 1) {
return true;
}
// dp[0] < len - 1
for(int i = 1; i < len; i ++) {
if(dp[i - 1] >= i) {
// ่ฏดๆ i - 1 ๅคๆ่ฟๅฐ่พพ็่ท็ฆป่ฝๅค่ฆ็ๅฝๅ่็น
int curMax = i + nums[i];
dp[i] = Math.max(dp[i - 1], curMax);
if(dp[i - 1] >= len - 1) {
return true;
}
} else {
return false;
}
}
return false;
}
}