mirror of
https://github.com/youngyangyang04/leetcode-master.git
synced 2025-07-09 03:34:02 +08:00
Update 0045.跳跃游戏II.md
This commit is contained in:
@ -143,7 +143,36 @@ public:
|
|||||||
|
|
||||||
|
|
||||||
Java:
|
Java:
|
||||||
|
```Java
|
||||||
|
class Solution {
|
||||||
|
public int jump(int[] nums) {
|
||||||
|
if (nums == null || nums.length == 0 || nums.length == 1) {
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
//记录跳跃的次数
|
||||||
|
int count=0;
|
||||||
|
//当前的覆盖最大区域
|
||||||
|
int curDistance = 0;
|
||||||
|
//最大的覆盖区域
|
||||||
|
int maxDistance = 0;
|
||||||
|
for (int i = 0; i < nums.length; i++) {
|
||||||
|
//在可覆盖区域内更新最大的覆盖区域
|
||||||
|
maxDistance = Math.max(maxDistance,i+nums[i]);
|
||||||
|
//说明当前一步,再跳一步就到达了末尾
|
||||||
|
if (maxDistance>=nums.length-1){
|
||||||
|
count++;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
//走到当前覆盖的最大区域时,更新下一步可达的最大区域
|
||||||
|
if (i==curDistance){
|
||||||
|
curDistance = maxDistance;
|
||||||
|
count++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return count;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
Python:
|
Python:
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user