add
This commit is contained in:
parent
e89cc79716
commit
81df394d2c
49
5.leetcode/src/com/fanxb/common/Q45.java
Normal file
49
5.leetcode/src/com/fanxb/common/Q45.java
Normal file
@ -0,0 +1,49 @@
|
|||||||
|
package com.fanxb.common;
|
||||||
|
|
||||||
|
import java.util.Stack;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author fanxb
|
||||||
|
* @date 2021-11-03-下午3:12
|
||||||
|
*/
|
||||||
|
public class Q45 {
|
||||||
|
|
||||||
|
public int jump(int[] nums) {
|
||||||
|
int maxIndex = 0;//下一跳能到达的最远边界
|
||||||
|
int end = 0; //一次跳跃的边界
|
||||||
|
int step = 0;//使用的部署
|
||||||
|
//只需走到倒数第二个节点即可
|
||||||
|
for (int i = 0; i < nums.length-1; i++) {
|
||||||
|
//look for next step's max value
|
||||||
|
maxIndex = Math.max(maxIndex, i+nums[i]);
|
||||||
|
//走到一步的边界了,已经找到下一跳的起点
|
||||||
|
if(i==end){
|
||||||
|
steps++;
|
||||||
|
end = maxIndex;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return step;
|
||||||
|
}
|
||||||
|
|
||||||
|
public int solve(int[] nums,int i,int[] map){
|
||||||
|
if(i>nums.length-1) return 0;
|
||||||
|
if(map[i]>0) return map[i];
|
||||||
|
int minStep = 100000,step;
|
||||||
|
int v = nums[i];
|
||||||
|
for(int j=0;j<v;j++){
|
||||||
|
step = solve(nums,i+j+1,map);
|
||||||
|
minStep = Math.min(minStep,step+1);
|
||||||
|
}
|
||||||
|
map[i] = minStep;
|
||||||
|
return minStep;
|
||||||
|
}
|
||||||
|
|
||||||
|
public int jump1(int[] nums){
|
||||||
|
int[] map = new int[nums.length];
|
||||||
|
return solve(nums,0,map);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public static void main(String[] args) {
|
||||||
|
}
|
||||||
|
}
|
Loading…
x
Reference in New Issue
Block a user