代码随想录算法训练营第四十八天| 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.mzph.cn/diannao/23674.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

25-unittest执行顺序

在使用unittest框架时&#xff0c;各个测试方法的执行顺序是怎样的&#xff0c;本篇通过简单案例讲解unittest执行顺序。 一、定义测试类 import unittestclass Demo(unittest.TestCase):def setUp(self):print("start!")def tearDown(self):print("end!"…

前端工程化工具系列(八)——Commitizen(v4.3.0):Git 提交规范化工具

在 前端工程化工具系列&#xff08;四&#xff09;—— Commitlint(v19.3.0)&#xff1a;规范化 Git 提交 中曾介绍过 commitlint&#xff0c;它主要负责检查提交信息的规范性。而本文中的 commitizen&#xff0c;则是提供给了一个交互式的命令行界面&#xff0c;引导开发者按照…

度安讲 | 第二期「安全左移·业务护航」技术沙龙成功举办

当下&#xff0c;“安全左移”作为落地DevSecOps的重要实践之一&#xff0c;已在业界达成共识。DevSecOps作为一种集开发、安全、运维于一体的软件开发和运营模式&#xff0c;强调在敏捷交付下&#xff0c;“安全”在软件开发生命周期的全覆盖贯穿和核心位置。所谓“安全左移”…

Git命令行

文章目录 初始化配置仓库 其实Idea里自带的命令能满足工作多数场景&#xff0c;但也会使思维受限&#xff0c;总结下Git里常用的命令行对Idea进行补充 初始化配置 # 查看git配置&#xff08;重点关注账号和邮箱&#xff09; git config --list# 设置全局姓名和邮箱 git config…

不同类型红酒的保存期限与品质变化

云仓酒庄雷盛红酒&#xff0c;以其多样的品种和与众不同的风味吸引了无数葡萄酒爱好者。然而&#xff0c;不同类型和风格的红酒在保存过程中&#xff0c;其期限和品质变化也各不相同。本文将深入探讨这个问题&#xff0c;以帮助消费者更好地理解和欣赏云仓酒庄雷盛红酒的多样性…

【Linux】Linux环境基础开发工具_5

文章目录 四、Linux环境基础开发工具Linux小程序---进度条git 未完待续 四、Linux环境基础开发工具 Linux小程序—进度条 上篇我们实现了一个简易的进度条&#xff0c;不过那仅仅是测试&#xff0c;接下来我们真正的正式实现一个进度条。 接着编写 processbar.c 文件 然…

web刷题记录(4)

[GKCTF 2020]cve版签到 进来应该是给了个提示了&#xff0c;就是要以.ctfhub.com结尾 还有一个超链接&#xff0c;这题的ssrf还是挺明显的&#xff0c;抓包看看 发现回显里面有提示 说是和本地有关&#xff0c;那么也就是说&#xff0c;要访问127.0.0.1&#xff0c;大概意思就…

ModuleNotFoundError: No module named ‘torch_scatter‘

大概率是cuda的版本问题&#xff0c;看了很多解决方案&#xff0c;都不舒服。 直到看到这篇 新建一个名字叫torch_scatter.py的脚本&#xff0c;然后就可以调用本地的脚本了。 #torch_scatter.py import torch from typing import Optionaldef scatter_sum(src: torch.Tenso…

【POSIX】运行时so库动态加载

运行时可以自己自定义so库的动态加载框架&#xff0c;主动去加载某些库&#xff0c;并调用其中的某些方法 首先写一些方法&#xff0c;并生成so库 // hello.cpp#include <iostream>/*使用 nm 命令查看 so 库的内容 */// 1. 使用extern // dlsym(handle, "hello&qu…

镜头效果技术在AI绘画中的革新作用

随着人工智能技术的飞速发展&#xff0c;AI绘画已经成为艺术与科技交汇的前沿领域。在这一领域中&#xff0c;镜头效果技术的应用不仅为艺术家和设计师们提供了全新的创作工具&#xff0c;更在艺术创作中扮演了革命性的角色。本文将深入探讨镜头效果技术在AI绘画中的应用&#…

npm发布自己的插件包指南

引言 npm&#xff08;Node Package Manager&#xff09;是 JavaScript 和 Node.js 开发中最流行的包管理工具。它允许开发者轻松地分享和重用代码&#xff0c;极大地提高了开发效率。发布自己的 npm 插件包&#xff0c;不仅可以提高代码的复用性&#xff0c;还可以分享你的工作…

Visual Studio和BOM历史渊源

今天看文档无意间碰到了微软对编码格式解释&#xff0c;如下链接&#xff1a; Understanding file encoding in VS Code and PowerShell - PowerShell | Microsoft LearnConfigure file encoding in VS Code and PowerShellhttps://learn.microsoft.com/en-us/powershell/scrip…

【机器学习】使用Stable Diffusion实现潜在空间搜索

1、引言 1.1 潜在空间的概念 潜在空间&#xff08;Latent Space&#xff09;是在机器学习和深度学习中一个重要的概念&#xff0c;它指的是用于表示数据的一种低维空间。这个空间编码了数据中包含的所有有用信息的压缩表示&#xff0c;通常比原始数据空间的维数更低&#xff…

QT快速下载

去QT官网之后&#xff0c;如下图所示 比如要下载qt-opensource-windows-x86-5.14.2.exe&#xff0c;进入5.14对应的文件夹&#xff0c;找到对应的版本 点击Details&#xff0c; 下载对应的种子&#xff0c;然后通过迅雷下载 个人实测&#xff0c;家庭网络平均18M的速率

vs2022专业版永久密钥

vs2022专业版永久密钥&#xff1a; vs2022专业版永久密钥&#xff1a; Visual Studio 2022 Enterprise&#xff1a;VHF9H-NXBBB-638P6-6JHCY-88JWH Visual Studio 2022 Professional&#xff1a;TD244-P4NB7-YQ6XK-Y8MMM-YWV2J

numpy的基本使用

一、NumPy 的主要特性和功能&#xff1a; 多维数组对象&#xff08;ndarray&#xff09;&#xff1a; NumPy 的核心是 ndarray 对象&#xff0c;它是一个多维数组&#xff0c;可以存储相同类型的元素。ndarray 对象具有固定大小&#xff0c;支持矢量化运算和广播功能&#xff0…

总结【GetHub的WebAPI,ASSET_ID】,【Linux的jq命令】(草稿版)

目录 1.介绍一下github中的 asset_id 2. GitHub 的 asset_id相关操作 2.1.获取特定 repository 的 release 列表&#xff1a; 2.2.获取特定 release 中的 asset 列表&#xff0c;并找到 asset_id&#xff1a; 2.3.使用ASSET_ID获取资材 3.返回的 assets 的信息 是什么样样…

C# —— 二维数组

C#当中 多维数组 又称为矩形数组,最简单的多维数组是二维数组,可以被认为带有x行和y列的表格 二维数组的定义: 不是ArrayList, ArrayList没有多维情况, 多维数组指的是Array 静态定义方式 类型[,]名字 new 类型[行数,列数] int[,]ints new int[3, 4];//3行4列的数据 strin…

使用 OKhttp3 实现 智普AI ChatGLM HTTP 调用(SSE、异步、同步)

SSE 调用 SSE&#xff08;Sever-Sent Event&#xff09;&#xff0c;就是浏览器向服务器发送一个HTTP请求&#xff0c;保持长连接&#xff0c;服务器不断单向地向浏览器推送“信息”&#xff08;message&#xff09;&#xff0c;这么做是为了节约网络资源&#xff0c;不用一直…

批量探测内网存活主机的原理

批量探测内网存活主机是网络安全领域中的一个常见任务&#xff0c;它可以用于网络管理、安全评估或者入侵检测等场景。探测内网存活主机的原理通常基于以下几种技术&#xff1a; ICMP协议&#xff08;Ping扫描&#xff09;&#xff1a; ICMP&#xff08;Internet Control Mess…