当前位置: 首页 > news >正文

代码随想录算法训练营第四十八天| 70. 爬楼梯 (进阶)、322. 零钱兑换、279.完全平方数

 70. 爬楼梯 (进阶)

题目链接: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]
};

http://www.lryc.cn/news/365243.html

相关文章:

  • c++11 constexpr关键字
  • ios 获取图片的一部分区域
  • 数据结构(3)栈、队列、数组
  • 数据库(入门)
  • ChatTTS+Python编程搞定语音报时小程序
  • 【Mac】Alfred 5 for Mac(苹果效率提升工具)v5.5软件介绍及安装教程
  • PDF文件处理不再复杂:9个Python库让一切变得简单
  • 安防视频融合汇聚平台EasyCVR如何实现视频画面自定义标签?
  • Liunx音频
  • 2024前端面试准备3-JS异步-进阶
  • lm studio 0.2.24国内下载模型
  • 卷积池化尺寸计算公式
  • 前端框架原理自测题:根据 JSX / Vue 模板写出 render 函数 / VNode
  • RabbitMQ启动报错:Error during startup: {error, {schema_integrity_check_failed,
  • 操作系统入门系列-MIT6.828(操作系统工程)学习笔记(三)---- xv6初探与实验一(Lab: Xv6 and Unix utilities)
  • Java核心: 为图片生成水印
  • Spark MLlib 机器学习详解
  • MySQL报ERROR 2002 (HY000)解决
  • 【校招】【社招】字节跳动UG营销算法工程师招聘
  • Go实战 | 使用Go-Fiber采用分层架构搭建一个简单的Web服务
  • Web自动化测试框架+PO模式分层实战(超细整理)
  • 光猫、路由器的路由模式、桥接模式、拨号上网
  • iOS--工厂设计模式
  • [Python]用Qt6和Pillow实现截图小工具
  • Podman和Docker的区别
  • Go微服务: 分布式Cap定理和Base理论
  • Mysql学习(四)——SQL通用语法之DQL
  • 【ARFoundation自学05】人脸追踪(AR Face manager)实现
  • Vulnhub-DC-2
  • VNC server ubuntu20 配置