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

崩溃,你限你的,我卡我的。。。

0
分享至

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

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

据说明年有1200多万毕业生,就业压力也是相当大,为了提升毕业生就业率,教育部发文:严禁校招限定985,211。但我觉得解除限制也提升不了就业率,因为岗位是一定的,毕业人数是一定的,解除限制除了给普通院校学生更多的机会,对提升就业率好像没有什么帮助。

最近一位网友在面试的时候,HR就明确说了,985和211的放一坨,普通院校放一坨,如果985和211都签完了还不够,才会考虑普通院校,主打的就是你限你的,我卡我的,根本不把教育部的文件当回事。。。

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

来看下今天的算法题,这题是LeetCode的第216题:组合总和 III。

问题描述

来源:LeetCode第216题

难度:中等

找出所有相加之和为 n 的 k 个数的组合,且满足下列条件:

1,只使用数字1到9

2,每个数字 最多使用一次

返回所有可能的有效组合的列表 。该列表不能包含相同的组合两次,组合可以以任何顺序返回。

示例1:


输入: k = 3, n = 7 输出: [[1,2,4]] 解释: 1 + 2 + 4 = 7 没有其他符合的组合了。

示例2:


输入: k = 3, n = 9 输出: [[1,2,6], [1,3,5], [2,3,4]] 解释: 1 + 2 + 6 = 9 1 + 3 + 5 = 9 2 + 3 + 4 = 9 没有其他符合的组合了。

  • 2 <= k <= 9

  • 1 <= n <= 60

问题分析

这题是让从 1 到 9 之间选择 k 个数字,让这 k 个数字之和等于 n ,问有多少这种组合,这实际上是一道回溯算法题。

我们可以把它看作是一棵树,选择元素的过程可以把它看作树的一个分支,如果选择的元素个数大于 k 或者元素的和大于 n 就停止选择。

因为题中说的是组合,不是排列,也就是说[1,2,4]和[1,4,2]是一样的,所以选择当前元素之后下一步只能从他的下一个元素开始,比如示例 2 中的选择如下图所示:

JAVA:

public List
         
 > combinationSum3( int k,  int n) {     List > ans =  new ArrayList<>();     dfs(ans,  new ArrayList<>(), k, n,  1);      return ans; } private void dfs(List > ans, List  path,                   int k,  int n,  int start)  {      if (path.size() >= k || n <=  0) {          // 找到一组合适的          if (path.size() == k && n ==  0)             ans.add( new ArrayList<>(path));          return;     }      for ( int i = start; i <=  9; i++) {         path.add(i); // 选择当前值         dfs(ans, path, k, n - i, i +  1); // 递归         path.remove(path.size() -  1); // 撤销选择     } }

C++:

public:     vector

 > combinationSum3(int k, int n) {         vector

 > ans;         vector

  path;         dfs(ans, path, k, n, 1);         return ans;     }     void dfs(vector

 > &ans, vector

  &path,              int k, int n, int start) {         if (path.size() >= k || n <= 0) {             // 找到一组合适的             if (path.size() == k && n == 0)                 ans.push_back(path);             return;         }         for (int i = start; i <= 9; i++) {             path.push_back(i);// 选择当前值             dfs(ans, path, k, n - i, i + 1);// 递归             path.pop_back();// 撤销选择         }     }





Python:

def combinationSum3(self, k: int, n: int) -> List[List[int]]:     ans = []     path = []     def dfs(total: int, start: int):         if len(path) >= k or total <= 0:             # 找到一组合适的             if len(path) == k and total == 0:                 ans.append(path[:])             return         for i in range(start, 10):             path.append(i)  # 选择当前值             dfs(total - i, i + 1)  # 递归             path.pop()  # 撤销选择     dfs(n, 1)     return ans

笔者简介

博哥,真名:王一博,毕业十多年, 作者,专注于 数据结构和算法 的讲解,在全球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新规:这4种情况属重复收费可拒交

交物业费又收车位管理费?2026新规:这4种情况属重复收费可拒交

李博世财经
2026-03-13 14:13:28
网传西安一女子从行驶中出租车跳下,警方通报

网传西安一女子从行驶中出租车跳下,警方通报

界面新闻
2026-03-13 17:29:11
为什么中国不军事援助伊朗?看完发现,印度三哥才是最牛逼的

为什么中国不军事援助伊朗?看完发现,印度三哥才是最牛逼的

六子吃凉粉
2026-03-13 13:05:53
俄媒:伊朗向俄罗斯请求人道主义援助

俄媒:伊朗向俄罗斯请求人道主义援助

参考消息
2026-03-13 14:17:21
英国花44亿,拆掉华为设备。德国花165亿,拆掉华为设备。

英国花44亿,拆掉华为设备。德国花165亿,拆掉华为设备。

南权先生
2026-03-13 15:50:26
2连败!朝鲜女足快哭了:射门21-4+2失误 压着打却1-2澳洲出局

2连败!朝鲜女足快哭了:射门21-4+2失误 压着打却1-2澳洲出局

风过乡
2026-03-13 20:23:57
你知道古人如何养“死士”的?看完让人头皮发麻

你知道古人如何养“死士”的?看完让人头皮发麻

史政先锋
2026-03-13 17:17:54
91%!华为越过“生死线”鸿蒙6.0直接起飞,会不会取代安卓?

91%!华为越过“生死线”鸿蒙6.0直接起飞,会不会取代安卓?

小柱解说游戏
2026-03-11 20:37:34
五角大楼首席技术官:有一个AI已经产生了“灵魂”,甚至有自己的“宪法”

五角大楼首席技术官:有一个AI已经产生了“灵魂”,甚至有自己的“宪法”

可达鸭面面观
2026-03-13 18:01:15
突发,中国船遭袭!

突发,中国船遭袭!

Nee看
2026-03-13 15:15:26
前交叉韧带撕裂,官方:郭艾伦将在北京大学第三医院进行手术

前交叉韧带撕裂,官方:郭艾伦将在北京大学第三医院进行手术

懂球帝
2026-03-13 19:25:10
伊朗副外长:允许部分国家船只通过霍尔木兹海峡

伊朗副外长:允许部分国家船只通过霍尔木兹海峡

界面新闻
2026-03-13 06:56:50
太猛了,特斯拉又发布重大系统更新!

太猛了,特斯拉又发布重大系统更新!

XCiOS俱乐部
2026-03-13 19:39:55
西安不倒翁小姐姐离职:没嫁入豪门,七年没拿到编制,压力太大!

西安不倒翁小姐姐离职:没嫁入豪门,七年没拿到编制,压力太大!

眼光很亮
2026-03-12 19:25:00
贵州茅台酒股份有限公司党委委员、副总经理、财务总监、董事会秘书蒋焰接受审查调查

贵州茅台酒股份有限公司党委委员、副总经理、财务总监、董事会秘书蒋焰接受审查调查

界面新闻
2026-03-13 18:57:19
1-2!亚洲杯3冠王提前回家,首个四强已出炉,中国队冲冠军更难了

1-2!亚洲杯3冠王提前回家,首个四强已出炉,中国队冲冠军更难了

侃球熊弟
2026-03-13 20:00:02
刘强东500亿接盘48座万达广场,救王健林于水火,真相远不止救急

刘强东500亿接盘48座万达广场,救王健林于水火,真相远不止救急

老特有话说
2026-03-13 14:20:28
那个武大诬告学弟的女生,考上公务员了?这位网红把流量玩明白了

那个武大诬告学弟的女生,考上公务员了?这位网红把流量玩明白了

戗词夺理
2026-03-13 14:31:38
拒绝与中俄选手合影!德国选手:无法将体育与政治分开

拒绝与中俄选手合影!德国选手:无法将体育与政治分开

湖报体育
2026-03-12 23:12:53
随着朝鲜1-2出局,2026女足亚洲杯四强诞生1席:东道主昂首晋级

随着朝鲜1-2出局,2026女足亚洲杯四强诞生1席:东道主昂首晋级

侧身凌空斩
2026-03-13 19:57:06
2026-03-13 21:24:49
数据结构和算法
数据结构和算法
专门介绍和写算法题解的号
269文章数 3关注度
往期回顾 全部

科技要闻

龙虾热卷到AI硬件 “无脑”硬件或被淘汰

头条要闻

特朗普鼓动油轮"大胆"过霍尔木兹海峡:伊朗没有海军

头条要闻

特朗普鼓动油轮"大胆"过霍尔木兹海峡:伊朗没有海军

体育要闻

叕战奥运,张雨霏要做回“小将”

娱乐要闻

小S复工录制 感谢贾永婕陪大S走到最后

财经要闻

中小银行定存利率落入“1”时代

汽车要闻

置换补贴价8.68万 五菱缤果S 525km旗舰款上市

态度原创

艺术
教育
游戏
房产
时尚

艺术要闻

吴冠中:历代画竹大都缺乏厚度与深度

教育要闻

家长称8天假期打印了60多页作业

一个月就打折?《仁王3》开启首场促销 光荣吆喝宣传

房产要闻

不容易啊!海口终于又要卖地了!

真正有气质的女性不会总穿羽绒服!看看这些穿搭,大方不显胖

无障碍浏览 进入关怀版