网易首页 > 网易号 > 正文 申请入驻

逆天,好不容易找到的工作,学校不让去实习。。。

0
分享至

专栏:50多种数据结构彻底征服

专栏:50多种经典图论算法全部掌握

最近一网友发文称,大四没课想请假去实习,结果学校不批,引来其他网友的各种吐槽。其实我对这件事也不能理解,我认为大四就是应该去找工作,去实习的,如果没课还留在学校干啥呢?

记得十多年前我大四的时候,同学基本上都快跑光了,走的时候也没和任何人说,毕业答辩的时候回来就行了。如果他直接走,不和学校说估计会好一些,但每个学校的制度又不太一样,有的管的严,有的管的松,不能一概而论。

--------------下面是今天的算法题--------------

来看下今天的算法题,这题是LeetCode的第416题:分割等和子集。

问题描述

来源:LeetCode第416题

难度:中等

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

示例1:


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

示例2:


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

  • 1 <= nums.length <= 200

  • 1 <= nums[i] <= 100

问题分析

这题是让判断能不能把数组分成两部分,并且这两部分的和都相等。其实这是一道典型的01背包问题,关于 01背包,完全背包和多重背包,以及它们的公式推导和状态压缩 ,我们在 中都有过详细讲解,这里就不在重复介绍。

我们来看下这题使用01背包该怎么解,首先要计算数组中所有元素的和sum,这个和必须是偶数,数组才 有可能 被分成相等的两部分,否则没法分,并且每一部分的值都是sum/2。那么这题就变成了从数组中选择一些数字,每个数字最多只能选择一次,判断它们的和是否等于sum/2,这就是01背包问题了。

关于01背包的详细介绍可以看下中的第11章动态规划部分,下面我们使用的是状态压缩后的代码,要注意第二个for循环一定要逆序。还有这两个for循环的位置不能调换,因为背包问题实际上是一个组合问题。

JAVA:

public boolean canPartition(int[] nums) {     int sum = 0;// 计算所有数字的和     for (int num : nums)         sum += num;     if ((sum & 1) == 1)// 如果和是奇数,不能分为两部分         return false;     // 转化为01背包问题,从数组中选择一些数字,     // 判断他们的和是否等于target。     int target = sum >> 1;     boolean[] dp = new boolean[target + 1];     dp[0] = true;     // 对于01背包的优化这里是先遍历物品在遍历容量,但要注意第二个     // for循环一定要逆序。     for (int num : nums) {         for (int i = target; i > 0; i--)// 这里一定要逆序             if (i >= num)                 dp[i] = dp[i] || dp[i - num];     }     return dp[target]; }

C++:

public:     bool canPartition(vector

  &nums) {         int sum = 0;// 计算所有数字的和         for (auto &num: nums)             sum += num;         if (sum & 1)// 如果和是奇数,不能分为两部分             return false;         // 转化为01背包问题,从数组中选择一些数字,         // 判断他们的和是否等于target。         int target = sum >> 1;         vector

  dp(target + 1, 0);         dp[0] = true;         // 对于01背包的优化这里是先遍历物品在遍历容量,但要注意第二个         // for循环一定要逆序。         for (auto &num: nums) {             for (int i = target; i > 0; i--)// 这里一定要逆序                 if (i >= num)                     dp[i] = dp[i] || dp[i - num];         }         return dp[target];     }

Python:

def canPartition(self, nums: List[int]) -> bool:     sums = sum(nums)  # 计算所有数字的和     if sums % 2:  # 如果和是奇数,不能分为两部分         return False     '''      转化为01背包问题,从数组中选择一些数字,      判断他们的和是否等于target。     '''     target = sums // 2     dp = [True] + [False] * target     '''     对于01背包的优化这里是先遍历物品在遍历容量,但要注意第二个     for循环一定要逆序。     '''     for i, num in enumerate(nums):         for j in range(target, num - 1, -1):  # 这里一定要逆序             dp[j] |= dp[j - num]     return dp[target]

笔者简介

博哥,真名:王一博,毕业十多年, 作者,专注于 数据结构和算法 的讲解,在全球30多个算法网站中累计做题2000多道,在公众号中写算法题解800多题,对算法题有自己独特的解题思路和解题技巧,喜欢的可以给个关注,也可以 下载我整理的1000多页的PDF算法文档 。

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
梅根突然晒出新戒指,网友一看炸了:这不是和凯特那颗一样吗?

梅根突然晒出新戒指,网友一看炸了:这不是和凯特那颗一样吗?

东方不败然多多
2026-06-27 14:22:14
马蓉深夜发长文忏悔!9年漂泊一无所有:离开王宝强啥也不是

马蓉深夜发长文忏悔!9年漂泊一无所有:离开王宝强啥也不是

魔都姐姐杂谈
2026-06-26 20:52:03
先被罗纳尔迪尼奥取代,后跟梅西难以共存,南美足球先生生不逢时

先被罗纳尔迪尼奥取代,后跟梅西难以共存,南美足球先生生不逢时

足篮大世界
2026-06-27 00:08:21
结婚第二天,发现婚房已被婆婆过户给了小叔子,我当场提出了离婚

结婚第二天,发现婚房已被婆婆过户给了小叔子,我当场提出了离婚

清水家庭故事
2026-06-27 14:04:25
真是被惯坏了!初三家长用奶茶袋子送大疆,女儿秒臭脸,气到网友

真是被惯坏了!初三家长用奶茶袋子送大疆,女儿秒臭脸,气到网友

世界圈
2026-06-27 08:22:56
河南高考大实话:419、459根本录不上!真实本科线、公办线全算透

河南高考大实话:419、459根本录不上!真实本科线、公办线全算透

户外阿毽
2026-06-27 13:40:17
53岁大妈和37岁男人再婚,大妈哭诉:他太年轻,我吃不消

53岁大妈和37岁男人再婚,大妈哭诉:他太年轻,我吃不消

热心柚子姐姐
2026-06-26 08:51:33
杨颖独自带娃逛迪士尼素颜状态似少女!9岁小海绵身高抢眼超1.5米

杨颖独自带娃逛迪士尼素颜状态似少女!9岁小海绵身高抢眼超1.5米

小娱乐悠悠
2026-06-27 11:26:27
刷屏的陕西大叔,这是给浙江打的“最强招生广告”,没有之一

刷屏的陕西大叔,这是给浙江打的“最强招生广告”,没有之一

音乐时光的娱乐
2026-06-27 12:53:55
娃半夜把金锁嚼碎吞了,妈妈崩溃送医,医生:不用治,回家等吧!

娃半夜把金锁嚼碎吞了,妈妈崩溃送医,医生:不用治,回家等吧!

菁妈育儿
2026-06-25 17:49:57
克里米亚上演大逃亡,乌克兰发出全球飞手招募令

克里米亚上演大逃亡,乌克兰发出全球飞手招募令

史政先锋
2026-06-27 16:02:29
再见了成龙,再见了李连杰,再见了甄子丹,中国动作片迎来新时代

再见了成龙,再见了李连杰,再见了甄子丹,中国动作片迎来新时代

原梦叁生
2026-06-27 13:03:41
岸田冒着被骂风险!对中国说出大实话?高市的狠辣比想象中多

岸田冒着被骂风险!对中国说出大实话?高市的狠辣比想象中多

可乐爱微笑
2026-06-27 16:08:30
脸都丢尽了!巴萨 6500 万水货世界杯现形,登贝莱戴帽都救不了

脸都丢尽了!巴萨 6500 万水货世界杯现形,登贝莱戴帽都救不了

澜归序
2026-06-27 06:50:41
鸿蒙这波更新,把我那台老华为救活了!关掉这10个地方,流畅飞起

鸿蒙这波更新,把我那台老华为救活了!关掉这10个地方,流畅飞起

小蜜情感说
2026-06-27 15:34:45
女子称酒后家中遭男子性侵,DNA鉴定显示两人发生过性关系,警方认为无犯罪事实不予立案;律师说法

女子称酒后家中遭男子性侵,DNA鉴定显示两人发生过性关系,警方认为无犯罪事实不予立案;律师说法

大风新闻
2026-06-26 15:32:22
世界杯小组赛接近尾声,金球奖最新获奖概率:梅西第2,C罗第11

世界杯小组赛接近尾声,金球奖最新获奖概率:梅西第2,C罗第11

球场没跑道
2026-06-26 21:44:44
如果你今天没卖有色金属,周一最该做的事不是补仓,是看这个信号

如果你今天没卖有色金属,周一最该做的事不是补仓,是看这个信号

别人都叫我阿腈
2026-06-27 07:46:11
温州老板砸400万送独女留美,23岁的女儿被认识三周的男人杀死

温州老板砸400万送独女留美,23岁的女儿被认识三周的男人杀死

贱议你读史
2026-06-26 15:39:21
证据砸到脸上,终身监禁等着他!古巴飞行员会咬出前领导换自由吗

证据砸到脸上,终身监禁等着他!古巴飞行员会咬出前领导换自由吗

驰骋视界
2026-06-25 17:42:05
2026-06-27 16:52:49
数据结构和算法
数据结构和算法
专门介绍和写算法题解的号
273文章数 4关注度
往期回顾 全部

科技要闻

GPT-5.6发布,你暂时用不了!Mythos也放行

头条要闻

佛得角队历史性闯入世界杯32强 主帅回应

头条要闻

佛得角队历史性闯入世界杯32强 主帅回应

体育要闻

韩国球迷感谢西班牙:他们本可做掉我们

娱乐要闻

四提白玉兰终封后,杨紫:仍觉不真实

财经要闻

OpenAI推迟IPO重创软银!

汽车要闻

首搭华为乾崑智驾ADS5 启境GT7上市售价20.99万-32.99万元

态度原创

房产
本地
时尚
家居
公开课

房产要闻

全国高考大放水,300分就能上本科!论上岸率,海南没输过!

本地新闻

世界杯球迷节:比球赛更好玩的派对

乙女游戏新人设,竟然是195年下体育生?!

家居要闻

绿意盎然 自然之境

公开课

李玫瑾:为什么性格比能力更重要?

无障碍浏览 进入关怀版