news 2026/4/16 15:49:18

LeetCode热题100--416. 分割等和子集--中等

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
LeetCode热题100--416. 分割等和子集--中等

题目

给你一个 只包含正整数 的 非空 数组 nums 。请你判断是否可以将这个数组分割成两个子集,使得两个子集的元素和相等。

示例 1:
输入:nums = [1,5,11,5]
输出:true
解释:数组可以分割成 [1, 5, 5] 和 [11] 。

示例 2:
输入:nums = [1,2,3,5]
输出:false
解释:数组不能分割成两个元素和相等的子集。

题解

importjava.math.BigInteger;classSolution{publicbooleancanPartition(int[]nums){ints=0;for(intx:nums){s+=x;}if(s%2!=0){returnfalse;}s/=2;BigIntegerf=BigInteger.ONE;for(intx:nums){f=f.or(f.shiftLeft(x));// f |= f << x;}returnf.testBit(s);// 判断 f 中第 s 位是否为 1}}

解析

出自:三种写法:记忆化搜索 / 递推 / bitset 优化(Python/Java/C++/C/Go/JS/Rust)

importjava.math.BigInteger;classSolution{publicbooleancanPartition(int[]nums){// 计算数组所有元素的总和 sints=0;for(intx:nums){s+=x;}// 如果总和是奇数,则无法分成两个相等的子集(因为和必须是整数)if(s%2!=0){returnfalse;}// 目标子集和为总和的一半s/=2;// 使用 BigInteger 模拟位集(bitmask),f 的第 i 位为 1 表示“可以组成和为 i”// 初始状态:f = 1(二进制 ...0001),表示和为 0 总是可以达成(空子集)BigIntegerf=BigInteger.ONE;// 遍历每个数字 xfor(intx:nums){// 核心操作:f = f OR (f << x)// 含义:对于当前所有可达的和 i(f 的第 i 位为 1),// 新增一个选择:加上 x,得到和 i + x// 所以将 f 左移 x 位(表示所有和都加 x),再与原 f 合并(OR)f=f.or(f.shiftLeft(x));// 等价于 f |= f << x(但 BigInteger 无 |= 运算符)}// 检查第 s 位是否为 1:如果是,说明可以组成和为 s 的子集// 即存在一个子集,其元素和等于总和的一半 → 可分割returnf.testBit(s);// testBit(n) 返回第 n 位是否为 1(从最低位 0 开始计数)}}
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/16 10:56:30

将pc本地图片传给企业微信

需求&#xff1a; 老婆最近要参加某开卷考试需要刷视频&#xff0c;但是该视频很频繁的弹二维码需要手动扫码进行验证&#xff0c;现在打算做一个程序当识别到二维码之后通过c#代码将该二维码发送到企业微信群从而实现远程扫码继续播放。 github链接&#xff1a; https://gi…

作者头像 李华
网站建设 2026/4/16 9:24:40

数据结构 可扩展哈希代码解析

可扩展哈希&#xff08;Extendible Hashing&#xff09;详解一、传统哈希的问题1.1 传统哈希扩容的痛苦c// 传统链地址法哈希表扩容 void rehash(hashtable* table) {// 1. 分配新桶数组&#xff08;通常翻倍&#xff09;// 2. 重新计算所有元素的哈希值// 3. 迁移所有数据到新…

作者头像 李华
网站建设 2026/4/16 11:05:54

学长亲荐8个AI论文软件,本科生搞定毕业论文+格式规范!

学长亲荐8个AI论文软件&#xff0c;本科生搞定毕业论文格式规范&#xff01; 论文写作的“救星”&#xff1a;AI 工具如何让毕业论文不再难 对于许多本科生来说&#xff0c;撰写毕业论文是一项既复杂又充满挑战的任务。从选题到框架搭建&#xff0c;从资料搜集到内容撰写&#…

作者头像 李华
网站建设 2026/4/16 10:54:23

圣诞树周围喵喵叫:用 Elastic Observability 跟踪虚拟猫

作者&#xff1a;Sophia_Solomon 在现代观察性中&#xff0c;最迷人的部分之一就是它的多功能性。虽然我们通常提到物联网来监控非生物系统&#xff0c;但同样的原理也可以应用到有机的、活的系统。那我们的宠物、牲畜&#xff0c;甚至家里的植物呢&#xff1f;就像圣诞老人需要…

作者头像 李华
网站建设 2026/4/16 10:54:13

学长亲荐10个AI论文平台,研究生高效写作必备!

学长亲荐10个AI论文平台&#xff0c;研究生高效写作必备&#xff01; AI 工具如何助力论文写作&#xff1f; 在研究生阶段&#xff0c;论文写作是每位学生必须面对的重要任务。而随着人工智能技术的不断发展&#xff0c;AI 工具逐渐成为学术写作中不可或缺的助手。无论是降低 A…

作者头像 李华