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

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

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.

相关推荐
热点推荐
郑丽文8小时霸气拿回56亿现金,还让中天复台,蓝营终于起死回生

郑丽文8小时霸气拿回56亿现金,还让中天复台,蓝营终于起死回生

头条爆料007
2026-02-02 07:10:27
美媒报道:2008年跳楼自杀的顶级模特鲁斯拉娜,的确是萝莉岛女孩

美媒报道:2008年跳楼自杀的顶级模特鲁斯拉娜,的确是萝莉岛女孩

老范谈史
2025-12-24 17:24:57
微视频 | 守护“地球之肾”

微视频 | 守护“地球之肾”

新华社
2026-02-01 22:03:12
金价“大跳水”?两大投资大佬:黄金才是泡沫而非AI,美元一涨就会破!

金价“大跳水”?两大投资大佬:黄金才是泡沫而非AI,美元一涨就会破!

财联社
2026-02-02 08:24:40
工厂里真有男人思想如此龌龊?网友:女生一定不要一个人进厂

工厂里真有男人思想如此龌龊?网友:女生一定不要一个人进厂

带你感受人间冷暖
2026-01-25 00:05:08
被戴8次绿帽子,3次被捉奸在床,这就是我们“玉女”守卫的爱情?

被戴8次绿帽子,3次被捉奸在床,这就是我们“玉女”守卫的爱情?

素衣读史
2026-01-30 17:15:38
俄罗斯能源收入继续下降,预计2026年收入仅为预算的22%

俄罗斯能源收入继续下降,预计2026年收入仅为预算的22%

山河路口
2026-02-01 23:03:58
周总理逝世21年后,中国银行核查账目时发现他名下存有巨额存款,一番调查后揭开了背后的真相

周总理逝世21年后,中国银行核查账目时发现他名下存有巨额存款,一番调查后揭开了背后的真相

寄史言志
2026-01-17 16:37:15
立陶宛“恼羞成怒”,喊话大陆和好没人理,撺掇欧洲7国议员窜台

立陶宛“恼羞成怒”,喊话大陆和好没人理,撺掇欧洲7国议员窜台

知法而形
2026-02-02 13:59:34
为何美国黑人宁愿冒生命危险,也不愿听警察的指令?网友分享真相了

为何美国黑人宁愿冒生命危险,也不愿听警察的指令?网友分享真相了

另子维爱读史
2026-01-18 21:49:38
去公园跳舞半年后,发现天天来跳舞的男人,大多都有这三个意图

去公园跳舞半年后,发现天天来跳舞的男人,大多都有这三个意图

人间百态大全
2025-12-30 06:35:04
大瓜!小S二女儿疑曝出恋情,网友在墨尔本偶遇她和一男子游玩

大瓜!小S二女儿疑曝出恋情,网友在墨尔本偶遇她和一男子游玩

小徐讲八卦
2026-02-02 09:26:36
过气男顶流沦为酒局“工具人”!全程讨好、倒酒赔笑,像一个商品

过气男顶流沦为酒局“工具人”!全程讨好、倒酒赔笑,像一个商品

涵豆说娱
2026-01-19 18:16:27
谷爱凌爱上币圈诈骗犯孙宇晨?

谷爱凌爱上币圈诈骗犯孙宇晨?

爆角追踪
2026-02-01 17:28:46
越南高铁已经拖不起了,中国始终不肯出手,河内开始病急乱投医

越南高铁已经拖不起了,中国始终不肯出手,河内开始病急乱投医

孤单是寂寞的毒
2026-01-28 13:02:15
玩不到一起真尴尬,沈腾沙溢努力调节气氛,关晓彤张凯丽盛气凌人

玩不到一起真尴尬,沈腾沙溢努力调节气氛,关晓彤张凯丽盛气凌人

白面书誏
2026-02-01 18:39:22
开拓者老鹰达成3换1!杨瀚森添三分神射新队友 交易评级出炉

开拓者老鹰达成3换1!杨瀚森添三分神射新队友 交易评级出炉

罗说NBA
2026-02-02 04:03:35
谷爱凌不再回避!坦言世界不会原谅我了,原来她和全红婵处境一样

谷爱凌不再回避!坦言世界不会原谅我了,原来她和全红婵处境一样

秋姐居
2026-02-01 11:42:23
海港申花在列,中足联公布新赛季准入名单

海港申花在列,中足联公布新赛季准入名单

五星体育
2026-02-02 15:50:36
日本演员吃23年中国饭,娶中国妻子却发出辱华言论,如今怎么样了

日本演员吃23年中国饭,娶中国妻子却发出辱华言论,如今怎么样了

不写散文诗
2026-01-14 11:52:15
2026-02-02 18:35:00
数据结构和算法
数据结构和算法
专门介绍和写算法题解的号
263文章数 3关注度
往期回顾 全部

科技要闻

阿里筑墙,腾讯寄生,字节偷家

头条要闻

小鹏机器人首秀摔了 此前因步态太拟真被疑"真人套壳"

头条要闻

小鹏机器人首秀摔了 此前因步态太拟真被疑"真人套壳"

体育要闻

澳网男单决赛,属于阿尔卡拉斯的加冕仪式

娱乐要闻

周杰伦带王俊凯陈奕迅聚餐 畅聊音乐

财经要闻

商品期货暴跌 全球股市遭遇"黑色星期一"

汽车要闻

雷克萨斯LC500将于今年底停产 "最美雷克萨斯"谢幕

态度原创

旅游
健康
手机
房产
教育

旅游要闻

冬日探秘好去处 枣庄熊耳山奇石秘境等你来

耳石症分类型,症状大不同

手机要闻

人民日报头版力挺,OPPO折叠屏技术引苹果学习!

房产要闻

狂卖1548亿后,海南又上演疯狂抢地!

教育要闻

养孩子要花68万?教育降级的风来了,聪明的家长这样“精准养娃”

无障碍浏览 进入关怀版