百度云怎么做网站,苏州营销型网站建设方案,经典重庆论坛,wordpress旅游博客70. 爬楼梯 #xff08;进阶#xff09;
题目链接#xff1a;70. 爬楼梯 #xff08;进阶#xff09; 文档讲解#xff1a;代码随想录/爬楼梯 #xff08;进阶#xff09; 状态#xff1a;已完成#xff08;0遍#xff09; 解题过程
这几天博主忙着面试和入职进阶
题目链接70. 爬楼梯 进阶 文档讲解代码随想录/爬楼梯 进阶 状态已完成0遍 解题过程
这几天博主忙着面试和入职一晃已经周四了这个礼拜的卡我先补上只更新一下各个链接其他的等博主二刷的时候再补充。
看完代码随想录之后的想法
这道题没有JS版本的解。 322. 零钱兑换
题目链接518. 零钱兑换 文档讲解代码随想录/零钱兑换 视频讲解视频讲解-零钱兑换 状态已完成1遍 解题过程 看完代码随想录之后的想法
讲解代码如下
const coinChange (coins, amount) {if(!amount) {return 0;}let dp Array(amount 1).fill(Infinity);dp[0] 0;for(let i 0; i coins.length; i) {for(let j coins[i]; j amount; j) {dp[j] Math.min(dp[j - coins[i]] 1, dp[j]);}}return dp[amount] Infinity ? -1 : dp[amount];
}
这是遍历物品的版本下面是遍历背包的版本。
var coinChange function(coins, amount) {const dp Array(amount 1).fill(Infinity)dp[0] 0for (let i 1; i amount; i) {for (let j 0; j coins.length; j) {if (i coins[j] dp[i - coins[j]] ! Infinity) {dp[i] Math.min(dp[i], dp[i - coins[j]] 1)}}}return dp[amount] Infinity ? -1 : dp[amount]
} 279.完全平方数
题目链接279.完全平方数 文档讲解代码随想录/完全平方数 视频讲解视频讲解-完全平方数 状态已完成1遍 解题过程
看完代码随想录之后的想法
讲解代码如下
// 先遍历物品再遍历背包
var numSquares1 function(n) {let dp new Array(n 1).fill(Infinity)dp[0] 0for(let i 1; i**2 n; i) {let val i**2for(let j val; j n; j) {dp[j] Math.min(dp[j], dp[j - val] 1)}}return dp[n]
};
// 先遍历背包再遍历物品
var numSquares2 function(n) {let dp new Array(n 1).fill(Infinity)dp[0] 0for(let i 1; i n; i) {for(let j 1; j * j i; j) {dp[i] Math.min(dp[i - j * j] 1, dp[i])}}return dp[n]
};