代码随想录算法训练营Day44 ||leetCode 完全背包 || 518. 零钱兑换 II || 377. 组合总和 Ⅳ

完全背包

518. 零钱兑换 II 

遍历硬币和金额,累加所有可能

class Solution {
public:int change(int amount, vector<int>& coins) {vector<int> dp(amount+1,0);dp[0]=1;for (int i = 0; i < coins.size();i++){for(int j = coins[i]; j <= amount;j++){dp[j] += dp[j-coins[i]];}}return dp[amount];}
};

377. 组合总和 Ⅳ

此处涉及到排列情况,需要先遍历大小,再遍历容量

class Solution {
public:int combinationSum4(vector<int>& nums, int target) {vector<int> dp(target + 1, 0);dp[0] = 1;for (int i = 0; i <= target; i++) { // 遍历背包for (int j = 0; j < nums.size(); j++) { // 遍历物品if (i - nums[j] >= 0 && dp[i] < INT_MAX - dp[i - nums[j]]) {dp[i] += dp[i - nums[j]];}}}return dp[target];}
};

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/742742.shtml

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

相关文章

基于51单片机的智能电子秤设计

基于51单片机的智能电子秤设计 摘要 本文设计并实现了一款基于51单片机的智能电子秤。该电子秤通过高精度的电阻应变式传感器采集重量信息&#xff0c;经过信号调理电路将模拟信号转换为数字信号&#xff0c;再传输到51单片机进行处理。最终&#xff0c;单片机将处理后的重量…

中科大计网学习记录笔记(十八):网络层:数据平面:导论

前言&#xff1a; 学习视频&#xff1a;中科大郑烇、杨坚全套《计算机网络&#xff08;自顶向下方法 第7版&#xff0c;James F.Kurose&#xff0c;Keith W.Ross&#xff09;》课程 该视频是B站非常著名的计网学习视频&#xff0c;但相信很多朋友和我一样在听完前面的部分发现信…

从汇编来角度剖析C语言函数调用过程

目录 1.引言 2.寄存器 3.栈帧 4.函数调用前调用者的动作 5.被调用者在函数调用后的动作 6.被调用者返回前的动作 7.调用者在返回后的动作 8.总结 1.引言 当一个c函数被调用时&#xff0c;一个栈帧(stack frame)是如何被建立&#xff0c;又如何被消除的。这些细节跟操作…

解决 version GLIBCXX_*.*.* not found

1. 情况描述 linux机器&#xff0c;编译程序正常&#xff0c;但是运行程序报错 2. 错误原因 查看 libstdc.so 中CXXABI 版本,命令&#xff1a; strings /lib64/libstdc.so.6 | grep CXXABI 结果&#xff1a; 发现是libstdc版本过低导致 3. 解决问题 a> 查找当前环境上是否…

web前端之文字逐渐展示、擦除文字效果、requestAnimationFrame

MENU 版本一(requestAnimationFrame)版本二(setTimeout)版本三(纯css) 版本一(requestAnimationFrame) 前言 window.requestAnimationFrame()告诉浏览器——你希望执行一个动画&#xff0c;并且要求浏览器在下次重绘之前调用指定的回调函数更新动画。该方法需要传入一个回调函…

C后端开发,记录一个关于条件变量的死锁bug

过程 前几天使用IPC进程通信的原理写了一个聊天室&#xff0c;并且支持高并发。 在对于预防共享内存被多个进程同时使用导致信息丢失的情况时&#xff0c;使用了互斥锁&#xff0c;在客户端的代码中&#xff0c;最一开始是这样的&#xff1a; void send_by_signal() {DBG(&q…

离散化算法,以Acwing802.区间和为例子(C++实现)

目录 1.例题2.算法实现思路3.代码 1.例题 假定有一个无限长的数轴&#xff0c;数轴上每个坐标上的数都是 0现在&#xff0c;我们首先进行 n 次操作&#xff0c;每次操作将某一位置 x 上的数加 c接下来&#xff0c;进行 m 次询问&#xff0c;每个询问包含两个整数 l 和 r&#…

从0到1:如何用AI完成高质量的科研论文写作?

人工智能革命&#xff1a;如何让聊天机器人更懂你 人工智能正在以其强大的数据处理和语言生成能力改变世界。在学术界&#xff0c;大语言模型&#xff08;LLM&#xff09;为科学交流带来了一种新的工具。我们旨在有效地将AI工具与学术写作相结合&#xff0c;以更有效和更有影响…

在Linux服务器上安装Node.js

在Linux服务器上安装Node.js是一个相对简单的过程&#xff0c;以下是一份详细的安装指南&#xff0c;帮助您顺利在Linux服务器上安装Node.js。 一、准备工作 在开始安装Node.js之前&#xff0c;请确保您的Linux服务器已经连接到互联网&#xff0c;并且具有管理员权限。此外&a…

go语言tcp协议实现文件上传

一、客户端实现方案&#xff1a; package mainimport ("fmt""io""net""os" )func sendFile(filePath string, conn net.Conn) {defer conn.Close()// 获取文件名fileInfo, err : os.Stat(filePath)if err ! nil {fmt.Println("E…

【零基础学习04】嵌入式linux驱动中信号量功能基本实现

大家好,为了进一步提升大家对实验的认识程度,每个控制实验将加入详细控制思路与流程,欢迎交流学习。 今天给大家分享一下,linux系统里面信号量操作的具体实现,操作硬件为I.MX6ULL开发板。 第一:信号量基本简介 信号量是同步的一种方式,linux内核也提供了信号量…

在HTML5表单验证,自定义规则,用checkValidity()结合setCustomValidity()实现

自定义校验规则: 在HTML5表单验证API中,自定义规则通常通过监听表单元素的事件(如 input、change 或 invalid)并在JavaScript中进行验证来实现。以下是一个简单的例子,展示了如何创建一个自定义的验证规则,该规则要求输入字段必须包含至少两个连续的大写字母: <!DO…

数据大屏--->前端实时更新数据的几种方式

参考文章:实时数据更新 一、轮询:简单来说轮询就是客户端不停地调用服务端接口以获得最新的数据 1、短轮询:每隔3s向服务器发送一次请求- - -请求数据 优点:最大的优点就是实现简单 缺点:(1)无用的请求多,客户端不知道服务端什么时候数据更新,只能不停的向服务端发送请求, …

HTML5+CSS3+移动web——CSS 文字控制属性

系列文章目录 HTML5CSS3移动web——HTML 基础-CSDN博客https://blog.csdn.net/ymxk2876721452/article/details/136070953?spm1001.2014.3001.5502HTML5CSS3移动web——列表、表格、表单-CSDN博客https://blog.csdn.net/ymxk2876721452/article/details/136221443?spm1001.2…

java八股文复习-----2024/03/05----基础---跨域,过滤器,拦截器的区别

来源一 大彬八股文 来源二 2023 20W字八股文 2024秋招八股文 1.什么是跨域&#xff1f; 简单来讲&#xff0c;跨域是指从一个域名的网页去请求另一个域名的资源。由于有同源策略的关系&#xff0c;一般是不允许这么直接访问的。但是&#xff0c;很多场景经常会有跨域访问的…

反无人机电子护栏:原理、算法及简单实现

随着无人机技术的快速发展&#xff0c;其在航拍、农业、物流等领域的应用日益广泛。然而&#xff0c;无人机的不规范使用也带来了安全隐患&#xff0c;如侵犯隐私、干扰航空秩序等。为了有效管理无人机&#xff0c;反无人机电子护栏技术应运而生。 目录 一、反无人机电子护栏…

读取pkl文件,并得到它的所有key列表

import pickledef get_keys_from_pkl(file_path):with open(file_path, rb) as f:data pickle.load(f)keys list(data.keys())return keys# 用你的文件路径替换 your_file.pkl file_path your_file.pkl keys_list get_keys_from_pkl(file_path) print(keys_list)这段代码首…

怎样开始用selenium进行自动化测试?

在当今的软件开发过程中&#xff0c;自动化测试已成为确保应用程序质量和效率的关键工具。其中&#xff0c;Selenium作为一个强大的自动化测试工具&#xff0c;已经被广泛应用于Web应用程序的自动化测试。 但初学者要如何使用Selenium进行自动化测试&#xff1f;这当中包括Sel…

JavaScript---VConsole插件配置使用,一步到位简单实用!

1. 寻找到自己需要的VConsole插件js文件 个人喜欢BootCDN这个平台&#xff08;直接在线引用或者下载本地引入均可~&#xff09; vConsole (v3.15.1) - A lightweight, extendable front-end developer tool for mobile web page. | BootCDN - Bootstrap 中文网开源项目免费 C…

【Web】浅聊XStream反序列化本源之恶意动态代理注入

目录 简介 原理 复现 具体分析之前 我们反序列化了个什么&#xff1f; XStream反序列化的朴素通识 具体分析 第一步&#xff1a;unmarshal解组 第二步&#xff1a;readClassType获取动态代理类的Class对象 第三步&#xff1a;调用convertAnother对动态代理类进行实例…