刷代码随想录有感(107):动态规划——01背包/最后一块石头的重量||

题干:

代码:

class Solution {
public:
    int lastStoneWeightII(vector<int>& stones) {
        vector<int>dp(15001, 0);
        int sum = 0;
        for(int i : stones){
            sum += i;
        }
        int target = sum / 2;
        for(int i = 0; i < stones.size(); i++){
            for(int j = target; j >= stones[i]; j--){
                dp[j] = max(dp[j], dp[j - stones[i]] + stones[i]);
            }
        }
        return sum - dp[target] * 2;
    }
};

思路转化:题干就是要留下来的石头最小,那么就是让石头尽可能分成重量相同的两堆相撞然后什么都不剩,那就转化成了求容量为sum/2的背包最多装多少重量了。

不需要定义n,bagweight。

因为最大容量就是30*100,而我们要取的是一半值,所以(30000 / 2) + 1即可。

剩余步骤与分割等和子集一致,唯一不同点在于输出值(这个需要自己推导)。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

为什么选择住宅代理?IPXProxy住宅代理的优势

​在数字化时代&#xff0c;隐私和数据安全成为了每个互联网用户的关注焦点。住宅代理作为一种有效保护隐私的工具&#xff0c;因其独特的优势备受推崇。本文将从用户的角度&#xff0c;探讨选择住宅代理的诸多优势。 什么是住宅代理&#xff1f; 简单来说&#xff0c;住宅代理…

中华活页文选杂志中华活页文选杂志社中华活页文选编辑部2024年第8期目录

语文教学_阅读与鉴赏 小学语文拓展性阅读教学策略探究 魏萌萌; 4-6 小学语文阅读教学中培养学生创新思维的策略分析 谈晓娟; 7-9 新课改背景下小学语文阅读教学策略研究——以《丑小鸭》一课为例 许巧林; 10-12《中华活页文选》投稿&#xff1a;cn7kantougao163.co…

typora下载安装、激活教程

目录 介绍 基本功能 使用教程 高级功能 下载安装 激活 关闭软件每次启动时的已激活弹窗 去除软件左下角“未激活”提示 介绍 Typora 是一款功能强大的 Markdown 编辑器&#xff0c;它以其简洁的界面设计和高效的文本编辑能力受到许多用户的青睐。Typora 的主要特点在于…

Geek新鲜事15: Linus Torvalds 发话了,新调度器sched_ext将合入Linux6.11

“ext”对应的英文单词为“extensible”&#xff0c;意为可扩展的。开发者Tejun Heo通过整整30 个的patchs&#xff0c;提供了一个支持eBPF程序修改调度策略的调度类。其核心目的有三个&#xff1a; 让开发者更易于实验和探索新的调度策略&#xff0c;免去编译完整内核镜像的成…

超长国债来了,高净值客群的机会在哪儿?

有人说&#xff0c;2024年是全球经济的“分化年”&#xff0c;也是中国经济突围的“关键年”。当前&#xff0c;我国经济恢复仍处在关键阶段&#xff0c;长期向好的基本趋势没有改变&#xff0c;但也需要克服一些挑战&#xff0c;而巩固和增强经济复苏的良好势头&#xff0c;离…

楼顶气膜体育馆建设的关键问题解析—轻空间

随着城市化进程的加快和土地资源的日益紧张&#xff0c;楼顶气膜体育馆作为一种新兴的建筑形式备受关注。其轻盈美观、节省用地、施工便捷等特点&#xff0c;使其成为城市空间利用的理想选择。那么&#xff0c;在楼顶建设气膜体育馆有哪些关键问题需要考虑呢&#xff1f; 一、楼…

Idea Git中 unversioned files的处理

项目中&#xff0c;使用git commit命令可以查看当前所在的分支&#xff0c;以及当前改动的文件&#xff0c;可以使用快捷键Alt 0打开/关闭&#xff1b;如下图所示&#xff0c; 可以看到分成了两个不同的区域&#xff0c; Changes 表示有改动的文件&#xff0c;包括修改、新增…

【Linux】基础IO——文件描述符,重定向,FILE

话接上篇&#xff1a; 1.文件描述符fd 磁盘文件 VS 内存文件&#xff1f; 当文件存储在磁盘当中时&#xff0c;我们将其称之为磁盘文件&#xff0c;而当磁盘文件被加载到内存当中后&#xff0c;我们将加载到内存当中的文件称之为内存文件。磁盘文件和内存文件之间的关系就像程…

【机器学习】智能创意工厂:机器学习驱动的AIGC,打造未来内容新生态

&#x1f680;时空传送门 &#x1f50d;机器学习在AIGC中的核心技术&#x1f4d5;深度学习&#x1f388;生成对抗网络&#xff08;GANs&#xff09; &#x1f680;机器学习在AIGC中的具体应用&#x1f340;图像生成与编辑⭐文本生成与对话系统&#x1f320;音频生成与语音合成 …

汇凯金业:现货黄金交易的分析方法投资策略

现货黄金交易中&#xff0c;分析方法主要分为两大类&#xff1a;技术面分析和基本面分析。两者各有特点和应用场景&#xff0c;投资者需要结合自身的交易风格和市场情况进行综合运用。本文将详细介绍这两种分析方法&#xff0c;帮助投资者更好地进行现货黄金交易。 一、基本面…

基于java《场馆预约MeetHere》【完整代码】和【完整测试流程报告】的资源

基于java《场馆预约MeetHere》【完整代码】和【完整测试流程报告】的资源 项目描述 MeetHere是一个场馆预约和管理的Web商务网站 普通用户&#xff1a;注册、登录、个人信息管理、查看场馆介绍和预约信息、场馆预约、场馆预约订单管理、查看新闻、留言管理&#xff08;发布、浏…

【随手记】贴一段matplotlib绘图的多图拼接代码

二维&#xff1a; import numpy as np import matplotlib.pyplot as pltpic_names ["pic1", "pic2", "pic3", "pic4", "pic5", "pic6", "pic7", "pic8", "pic9", "pic10&qu…

redis持久化方式—AOF

redis为什么需要持久化 redis是内存数据库&#xff0c;redis所有的数据都保存在内存中 如果此时pc关机或重启&#xff0c;那么内存中的用户数据岂不是丢失了&#xff1f;redis这么不安全吗&#xff1f; 作为数据库&#xff0c;保证数据的安全&#xff0c;持久是基本需求&…

IK分词器热刷新词库实践分享

目录 前言 什么是分词器&#xff1f; ik分词器简介 ik分词器和默认分词器的对比 ik分词器介绍 ik分词器的分词问题 自定义词库 主配置解说 通过配置文件自定义词库 Step1: 新建自定义分词库 Step2: 将我们的自定义词添加到ik的配置文件中 Step3: 重启es&#xff0c;…

css 文字下划线 text-decoration

背景&#xff1a; 在某些时候需要给文字添加特殊样式。使用 text-decoration: underline; 来为段落文字添加下划线。也有其它文本装饰样式&#xff0c;例如&#xff1a; none&#xff1a;无装饰&#xff08;去掉装饰&#xff09;overline&#xff1a;上划线line-through&…

【学习笔记】MySQL(Ⅱ)

MySQL(Ⅱ) 7、 进阶篇 —— 存储引擎 7.1、MySQL 体系结构 7.2、存储引擎 7.2.1 InnoDB 7.2.2 MyISAM 7.2.3 Memory 7.2.4 InnoDB、MyISAM、Memory 的比较8、 拓展篇 —— 在 Linux 上安装数据库9、进阶篇 —— 索引 …

快速欧氏聚类与普通欧氏聚类比较

1、前言 文献《FEC: Fast Euclidean Clustering for Point Cloud Segmentation》介绍了一种快速欧氏聚类方法,大概原理可以参考如下图,具体原理可以参考参考文献。 2、时间效率比较:快速欧氏聚类VS普通欧氏聚类 网上搜集的快速欧式聚类,与自己手写的普通欧式聚类进行对比,…

MapStruct对象转换

MapStruct是一个Java注解处理器&#xff0c;用于简化对象的转换 遇到的问题&#xff1a; java: Internal error in the mapping processor: java.lang.NullPointerException 解决方案&#xff1a;修改编辑器配置 -Djps.track.ap.dependenciesfalse

简单通用防篡改水印组件封装(vue3)

一、项目结构 二、项目代码 1.App.vue <template><div class"container"><Watermark text"版权所有"><div class"content"></div></Watermark><Watermark text"禁止转载" style"backgr…

docker 中 File Sharing 和Volumes 的区别

在 Docker 中&#xff0c;File Sharing 和 Volumes 都涉及到将文件和目录从主机系统映射到容器中&#xff0c;但它们的用途和实现方式有一些重要的区别&#xff1a; 一、简介 File Sharing 是 Docker Desktop 在 Windows 和 macOS 上的一项功能&#xff0c;允许你将主机文件系…