diff --git a/5.leetcode/src/com/fanxb/common/Q45.java b/5.leetcode/src/com/fanxb/common/Q45.java new file mode 100644 index 0000000..8fdaf52 --- /dev/null +++ b/5.leetcode/src/com/fanxb/common/Q45.java @@ -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