动态规划 - 跳跃游戏 II
javascript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
let nums = [1, 2, 3];
let dp = new Array(nums.length).fill(0);
const dp_equation = (i) => {
let res = [];
for (let j = 0; j < i; j++) {
if (nums[j] >= i - j) {
res.push(dp[j]);
}
}
console.log('此时的i', i, res);
return Math.min(...res) + 1;
};
// 对比目标点前每一个点跳到目标点的dp值哪个最小选哪个,dp是跳跃次数
dp[0] = 0;
for (let i = 1; i < nums.length; i++) {
dp[i] = dp_equation(i);
}
console.log(dp);typescript
let nums=[1,2,3]
let dp=new Array(nums.length).fill(0)
const dp_equation=(i:number)=>{
let res=[]
for(let j=0;j<i;j++){
if(nums[j]>=i-j){
res.push(dp[j])
}
}
console.log('此时的i',i,res)
return Math.min(...res)+1
}
// 对比目标点前每一个点跳到目标点的dp值哪个最小选哪个,dp是跳跃次数
dp[0]=0
for(let i=1;i<nums.length;i++){
dp[i]=dp_equation(i)
}
console.log(dp)