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

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

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-07 11:00:11
再见了,冯小刚,再见了,张艺谋,中国已迎来“新导演”时代

再见了,冯小刚,再见了,张艺谋,中国已迎来“新导演”时代

阿銍武器装备科普
2026-06-20 21:10:07
这儿子不能留!日本前高官亲手杀孽障,恐他“无差别杀人”酿大祸

这儿子不能留!日本前高官亲手杀孽障,恐他“无差别杀人”酿大祸

这里是东京
2026-06-21 16:49:56
世界杯疯狂之夜:日本队爆冷晋级,第三球队诞生

世界杯疯狂之夜:日本队爆冷晋级,第三球队诞生

雅儿电影解说
2026-06-21 14:05:24
洪金宝一生仅收的两个徒弟:一个是一线巨星,另一个在家躺着数钱

洪金宝一生仅收的两个徒弟:一个是一线巨星,另一个在家躺着数钱

秋风悲画芯
2026-06-21 15:38:37
小S终于说出实话:别再可怜大S,二婚的Mike,真的把她宠成了公主

小S终于说出实话:别再可怜大S,二婚的Mike,真的把她宠成了公主

美美赚钱
2026-05-27 17:08:55
中央再发铁令!领导干部出现这15种情形 , 将不能再担任现职!

中央再发铁令!领导干部出现这15种情形 , 将不能再担任现职!

细说职场
2026-06-20 15:03:51
难为内阁了!日本发布高市早苗参加G7现场图,仿佛和所有人热聊!

难为内阁了!日本发布高市早苗参加G7现场图,仿佛和所有人热聊!

阿龙聊军事
2026-06-21 15:07:11
新型攀比正在学校兴起,男孩子表现尤为明显,家长表示无奈

新型攀比正在学校兴起,男孩子表现尤为明显,家长表示无奈

凌晨妈妈
2026-06-16 14:20:03
曹德旺对未来房价预言:250万的房子,到2032年还能值多少钱?

曹德旺对未来房价预言:250万的房子,到2032年还能值多少钱?

猫叔东山再起
2026-06-19 08:30:12
俄乌战争打了4年多,中国终于明白:统一台湾前,这3种人必铲除

俄乌战争打了4年多,中国终于明白:统一台湾前,这3种人必铲除

谭麤爱搞笑
2026-06-07 09:21:42
许家印第二!又一“大佬”跑路被抓,诈骗989亿,超5万人血本无归

许家印第二!又一“大佬”跑路被抓,诈骗989亿,超5万人血本无归

牛牛叨史
2025-02-10 18:02:09
1-3不敌巴西不必灰心!看清优劣,找准女排现阶段提升方向

1-3不敌巴西不必灰心!看清优劣,找准女排现阶段提升方向

金毛爱女排
2026-06-22 00:00:11
张馨予太丰满,穿白衬衫都兜不住好身材,我感慨军人老公眼光真好

张馨予太丰满,穿白衬衫都兜不住好身材,我感慨军人老公眼光真好

蓓小西
2026-04-11 09:28:58
女儿骂父亲没本事别生孩子,父亲砍掉2000生活费:钱教比人教管用

女儿骂父亲没本事别生孩子,父亲砍掉2000生活费:钱教比人教管用

喵咪文化
2026-06-15 22:50:25
赢球也堵不住嘴!杜锋用废崔永熙、弃用徐昕,这五个事实太扎心

赢球也堵不住嘴!杜锋用废崔永熙、弃用徐昕,这五个事实太扎心

慢歌轻步谣
2026-06-22 01:45:33
撤销人民公社毁了毛主席的农村工业化战略?毁了两条腿走路布局?

撤销人民公社毁了毛主席的农村工业化战略?毁了两条腿走路布局?

覃仕勇说史
2026-06-15 11:20:32
杭师大男生《为什么女拳打不起来》演讲火了,女生威胁:别想上岸

杭师大男生《为什么女拳打不起来》演讲火了,女生威胁:别想上岸

林林先生
2026-06-20 08:00:07
因生不出孩子被踢出豪门,却二婚后儿女双全,陈法拉终于扬眉吐气

因生不出孩子被踢出豪门,却二婚后儿女双全,陈法拉终于扬眉吐气

最美的笔触
2026-05-23 17:11:22
徒步失联50多天!29岁河北小伙遗体在悬崖下被发现 知情人:很可能是迷路意外坠崖

徒步失联50多天!29岁河北小伙遗体在悬崖下被发现 知情人:很可能是迷路意外坠崖

红星新闻
2026-06-21 15:43:42
2026-06-22 03:36:50
数据结构和算法
数据结构和算法
专门介绍和写算法题解的号
273文章数 4关注度
往期回顾 全部

科技要闻

马斯克拿下7800亿元天价薪酬 2028年可兑现

头条要闻

西班牙4-0大胜沙特 亚马尔首次世界杯首发+首球

头条要闻

西班牙4-0大胜沙特 亚马尔首次世界杯首发+首球

体育要闻

德国的超级替补,10年前还在工厂上班

娱乐要闻

原来她就是张颂文老婆

财经要闻

“床垫界的特斯拉”破产了

汽车要闻

惊出冷汗!重庆实测奥迪A5L,华为智驾这波操作绝了…

态度原创

数码
亲子
游戏
公开课
军事航空

数码要闻

曝英特尔"Raptor Lake Next"处理器移动端仅提供"HX"版本

亲子要闻

阿宝表演单杠,考考小姨们帮我数6分钟荡了多少圈?老妈数晕了

《STRANGER THAN HEAVEN》游先看试玩报告:散装拳脚,也可以很爽"/> 主站 商城 论坛 自运营 登录 注册 《STRANGER THA...

公开课

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

军事要闻

时隔44年试射洲际导弹 现场照片传递三个重磅信息

无障碍浏览 进入关怀版