力扣:416. 分割等和子集(Java,动态规划:01背包问题)
目录
- 题目描述:
- 示例 1:
- 示例 2:
- 代码实现:
题目描述:
给你一个 只包含正整数 的 非空 数组 nums 。请你判断是否可以将这个数组分割成两个子集,使得两个子集的元素和相等。
示例 1:
输入:nums = [1,5,11,5]
输出:true
解释:数组可以分割成 [1, 5, 5] 和 [11] 。
示例 2:
输入:nums = [1,2,3,5]
输出:false
解释:数组不能分割成两个元素和相等的子集。
代码实现:
class Solution {public boolean canPartition(int[] nums) {if (nums.length == 1) {// 元素个数为1,直接为假return false;}int sum = 0;// 数组所有元素之和int max = 0;// 数组内最大元素for (int i = 0; i < nums.length; i++) {sum += nums[i];if (max < nums[i]) {max = nums[i];}}if (sum % 2 != 0) {// 如果元素之和为奇数,则必然不可能拆分为等和字迹return false;}int target = sum / 2;// 任一子集内元素之和if (max > target) {return false;// 如果最大值超过元素之和的一半,则必然不能等和}// 转化为01背包问题:nums[i]既是物品价值,也是物品重量int[] dp = new int[target + 1];// dp[j]表示容量为j的背包的最大价值:// 由于本题物品单价为1(价值=重量),所有尽可能装满背包即可// 采用一维数组压缩状态:滚动数组的方式for (int i = 0; i < nums.length; i++) {// 先遍历物品for (int j = target; j >= nums[i]; j--) {// 再倒序遍历背包:背包容量j要大于物品大小nums[i]dp[j] = Math.max(dp[j], dp[j - nums[i]] + nums[i]);// 状态转移方程:两种情况的较大值// 1.背包不放物品nums[i],依然是上一轮背包状态dp[j]// 2.放物品nums[i],(背包j-当前物品重量nums[i])时的dp最大价值 + 当前放入物品价值nums[i]}}return dp[target] == target;// 题意求数组中是否存在一组和为target的元素集合// 转化成01背包问题:是否存在若干物品能够装入容量为target的背包}
}
相关文章:
力扣:416. 分割等和子集(Java,动态规划:01背包问题)
目录 题目描述:示例 1:示例 2:代码实现: 题目描述: 给你一个 只包含正整数 的 非空 数组 nums 。请你判断是否可以将这个数组分割成两个子集,使得两个子集的元素和相等。 示例 1: 输入&#…...
Vue进阶之Vue项目实战(一)
Vue项目实战 项目搭建初始化eslint版本约束版本约束eslint配置 stylelintcspellcz-githusky给拦截举个例子 zx 项目搭建 node版本:20.11.1 pnpm版本:9.0.4 初始化 vue3最新的脚手架 pnpm create vite byelide-demo --template vue-ts pnpm i pnpm dev…...
预告 | 飞凌嵌入式邀您共聚2024上海充换电展
第三届上海国际充电桩及换电站展览会(CPSE),即将于5月22日~24日在上海汽车会展中心举行。届时,飞凌嵌入式将带来多款嵌入式核心板、开发板、充电桩TCU以及储能EMS网关产品,与来自全国的客户朋友及行业伙伴一同交流分享…...
vite 打包配置并部署到 nginx
添加配置 base:指项目在服务器上的相对路径,比如项目部署在 http://demo.dev/admin/ 上,那么你的基础路径就是 /admin/ 打包后生成的文件 部署到 nginx 访问部署地址,页面加载成功 参考文章:如何使用Vite打包和…...
ResponseHttp
文章目录 HTTP响应详解使用抓包查看响应报文协议内容 Response对象Response继承体系Response设置响应数据功能介绍Response请求重定向概述实现方式重定向特点 请求重定向和请求转发比较路径问题Response响应字符数据步骤实现 Response响应字节数据步骤实现 HTTP响应详解 使用抓…...
【题解】非对称之美(规律)
https://ac.nowcoder.com/acm/problem/214851 #include <iostream> #include <string> using namespace std; string s; int n; int fun() {// 1. 判断是否全都是相同字符bool flag false;for (int i 1; i < n; i) {if (s[i] ! s[0]){flag true;break;}}if…...
遇到如此反复的外贸客户,你可以这样做~
来源:宜选网,侵删 当你们遇到爽快的买家的时候,你是否有把握一定能把她拿下呢? 还是说即使客户很爽快,你也会耐心认真的沟通呢? 今天要和大家分享的这个买家,我本以为他是一个很爽快的买家&am…...
【数据库】简单SQL语句
已知某图书管理数据库有如下表格: 用户表user、部门表dept、角色表role、图书表book、图书分类表book_classify、图书借阅表book_borrow、还书表book_return、借阅预约表book_appoint、图书遗失表book_lose; 用户表user、部门表dept、角色表role、图书表book、图书…...
K邻算法:在风险传导中的创新应用与实践价值
01 前言 在当今工业领域,图思维方式与图数据技术的应用日益广泛,成为图数据探索、挖掘与应用的坚实基础。本文旨在分享嬴图团队在算法实践应用中的宝贵经验与深刻思考,不仅促进业界爱好者之间的交流,更期望从技术层面为企业在图数…...
【小白的大模型之路】基础篇:Transformer细节
基础篇:Transformer 引言模型基础架构原论文架构图EmbeddingPostional EncodingMulti-Head AttentionLayerNormEncoderDecoder其他 引言 此文作者本身对transformer有一些基础的了解,此处主要用于记录一些关于transformer模型的细节部分用于进一步理解其具体的实现机…...
Golang | Leetcode Golang题解之第73题矩阵置零
题目: 题解: func setZeroes(matrix [][]int) {n, m : len(matrix), len(matrix[0])col0 : falsefor _, r : range matrix {if r[0] 0 {col0 true}for j : 1; j < m; j {if r[j] 0 {r[0] 0matrix[0][j] 0}}}for i : n - 1; i > 0; i-- {for …...
JMeter性能压测脚本录制
第一步:电脑打开控制面板设置代理服务器 第二步:jmeter的测试计划添加一个HTTP(S)脚本记录器 在脚本记录器里配置好信息,然后保存为脚本文件(.*表示限定) 此方框内容为项目地址(可改…...
缓存雪崩、缓存击穿、缓存穿透是什么、之间的区别及解决办法
缓存雪崩、缓存击穿、缓存穿透: 详细介绍看这篇文章,写得很好: 什么是缓存雪崩、缓存击穿、缓存穿透 下面是我自己总结的,比较简单清楚地展示了缓存雪崩、缓存击穿和缓存穿透的根本区别和相应的解决办法。强烈建议看完上述文章后…...
Pytorch张量广播
Pytorch 中的主要的数据结构包括标量、向量、矩阵、张量,同时支持数据之间的运算。在 Pytorch 中有一个张量广播的概念,就是要把小的放大,最后在一起做计算,并不是所有的张量都可以计算,规则如下 首先比较维度&#x…...
AI算法-高数2-导数定义和公式
P14 2.1 导数的定义(一):2.1 导数的定义_哔哩哔哩_bilibili 导数定义: 导数公式: P15 2.1 导数的定义(二):2.1 导数的定义(二)_哔哩哔哩_bilibili [a,b]可导,a的端点:右可导,b端点&…...
Vitis HLS 学习笔记--AXI_STREAM_TO_MASTER
目录 1. 简介 2. 示例 2.1 示例功能介绍 2.2 示例代码 2.3 顶层函数解释 2.4 综合报告(HW Interfaces) 2.5 关于TKEEP和TSTRB 2.6 综合报告(SW I/O Information) 3. 总结 1. 简介 本文通过“<Examples>/Interface…...
WPF之可翻转面板
1,创建翻转面板的资源字典:FlippPanel.xaml。 无外观控件同样必须给样式指定类型( <ControlTemplate TargetType"ss:FlipPanel">),相关详情参考:WPF之创建无外观控件-CSDN博客)…...
【深度学习】--slowfast视频理解数据集处理pipeline
官网指引: facebookresearch SlowFast :https://github.com/facebookresearch/SlowFast 进入dataset:https://github.com/facebookresearch/SlowFast/blob/main/slowfast/datasets/DATASET.md 这里面的东西需要通读,但是不要过于…...
ArcGIS10.2能用了10.2.2不行了(解决)
前两天我们的推文介绍了 ArcGIS10.2系列许可到期解决方案-CSDN博客文章浏览阅读2次。本文手机码字,不排版了。 昨晚(2021\12\17)12点后,收到很多学员反馈 ArcGIS10.2系列软件突然崩溃。更有的,今天全单位崩溃。提示许…...
mysql查询表信息(表名、表结构、字段信息等)
MySQL中,您可以使用以下SQL查询数据库的表信息或者某个表中具体的信息,例如:字段、字段描述、索引等,以下为具体的SQL: 1、查询数据库所有表信息(表名/表描述) SELECTtable_name name,TABLE_C…...
DeepSeek-Coder-V2-Lite-Instruct用户调研:开发者眼中的AI编程助手痛点与需求
DeepSeek-Coder-V2-Lite-Instruct用户调研:开发者眼中的AI编程助手痛点与需求 【免费下载链接】DeepSeek-Coder-V2-Lite-Instruct 开源代码智能利器——DeepSeek-Coder-V2,性能比肩GPT4-Turbo,全面支持338种编程语言,128K超长上下…...
DeepSeek-Coder-V2-Lite-Instruct评估指标详解:代码准确率、效率与创新性
DeepSeek-Coder-V2-Lite-Instruct评估指标详解:代码准确率、效率与创新性 【免费下载链接】DeepSeek-Coder-V2-Lite-Instruct 开源代码智能利器——DeepSeek-Coder-V2,性能比肩GPT4-Turbo,全面支持338种编程语言,128K超长上下文&a…...
07-打造个性化 AI 助手
OpenClaw 第七篇:记忆系统进阶——打造个性化 AI 助手 “Memory is the treasury and guardian of all things.” — Cicero 在人工智能领域,有一个永恒的挑战:如何让 AI 记住「我是谁」、「你是谁」,以及「我们之前聊过什么」。OpenClaw 作为新一代 AI 自动化平台,构建了…...
ESLint-Plugin-Unicorn规则优先级设置终极指南:如何平衡代码质量和开发效率
ESLint-Plugin-Unicorn规则优先级设置终极指南:如何平衡代码质量和开发效率 【免费下载链接】eslint-plugin-unicorn More than 100 powerful ESLint rules 项目地址: https://gitcode.com/gh_mirrors/es/eslint-plugin-unicorn ESLint-Plugin-Unicorn是一个…...
Evolutionary Architecture by Example:如何避免过度工程化陷阱
Evolutionary Architecture by Example:如何避免过度工程化陷阱 【免费下载链接】evolutionary-architecture-by-example Navigate the complex landscape of .NET software architecture with our step-by-step, story-like guide. Unpack the interplay between m…...
NXP S32K3开发日记:PIT0的RTI唤醒功能调试全记录(含时钟源配置误区)
NXP S32K3开发实战:PIT0 RTI唤醒功能深度解析与排错指南 作为一名长期深耕汽车电子领域的嵌入式工程师,最近在基于NXP S32K3系列MCU开发低功耗应用时,遇到了一个颇具挑战性的问题——如何可靠地使用PIT0的RTI(Real Time Interrupt…...
Flutter项目打包未签名ipa的保姆级教程(含Xcode配置与常见错误解决)
Flutter项目打包未签名ipa的保姆级教程(含Xcode配置与常见错误解决) 当你完成了一个Flutter应用的开发,准备将其交付给第三方进行签名或部署到CI/CD流水线时,生成一个未签名的ipa文件是必经之路。对于刚接触iOS打包的Flutter开发者…...
intv_ai_mk11实际作品:面向管理层的OKR撰写建议与周报优化样例
intv_ai_mk11实际作品:面向管理层的OKR撰写建议与周报优化样例 1. 为什么管理者需要AI辅助撰写OKR和周报 在快节奏的商业环境中,管理者常常面临一个共同挑战:如何高效地制定清晰可衡量的目标(OKR),同时保…...
AirPods Pro 3 与 Bose QC Ultra Earbuds 2:无线耳机市场的激烈较量
AirPods Pro 3 与 Bose QC Ultra Earbuds 2:新功能大比拼最新款的 AirPods Pro 3 引入了一系列新功能,提升了音频效果,增强了降噪能力,还具备助听模式、实时翻译、自动切换、空间音频、心率监测等附加功能。而 Bose QuietComfort …...
Thanos.sh安全使用手册:避免数据灾难的10个终极技巧
Thanos.sh安全使用手册:避免数据灾难的10个终极技巧 【免费下载链接】Thanos.sh if you are Thanos(root), this command could delete half your files randomly 项目地址: https://gitcode.com/gh_mirrors/th/Thanos.sh Thanos.sh是一款以"随机删除一…...
