216. Combination Sum III
来源:互联网 发布:域名隐藏ip地址 编辑:程序博客网 时间:2024/05/22 07:43
1、题目描述
输入两个整数k和n,从1-9中选k个数,使得k数之和为n,返回所有这样的k元组。
2、思路
Backtracking。
和II差不多,比II简单的一点是,数组不会有重复元素,所以dfs的时候不用检查了。
另外需要一个变量来记录组成小组合的元素数量,确保是k个数,和为n。
3、代码
vector<vector<int>> combinationSum3(int k, int n) { vector<vector<int>> ans; vector<int>v; dfs(ans,v,n,k,1); return ans; } void dfs(vector<vector<int>>& ans,vector<int>& v, int n, int k, int start){ if(n==0){ if(k==0){ ans.push_back(v); return; } else return; } else if(n<0||k==0) return; for(int i=start;i<=9;i++){ v.push_back(i); dfs(ans,v,n-i,k-1,i+1); v.pop_back(); } }
阅读全文
0 0
- 216. Combination Sum III
- 216. Combination Sum III
- 216. Combination Sum III
- 216. Combination Sum III
- 216. Combination Sum III
- 216. Combination Sum III
- 216. Combination Sum III
- 216. Combination Sum III
- 216. Combination Sum III
- 216. Combination Sum III
- 216. Combination Sum III
- 216. Combination Sum III
- 216. Combination Sum III
- 216. Combination Sum III
- 216. Combination Sum III
- 216. Combination Sum III
- 216. Combination Sum III
- 216. Combination Sum III
- Hibernate 核心技术(二)
- SpringBoot Eclipse部署到tomcat
- 每天一个linux命令(24):Linux文件类型与扩展名
- 使用sublime text必备技巧
- 二叉树的遍历
- 216. Combination Sum III
- 如何通过路由器快速组建 VPN 网络
- Molog:使用 Serverless 搭建的前端错误日志及事件收集系统
- 汉诺塔问题
- 每天一个linux命令(25):linux文件属性详解
- DeepFashion: 服装公开数据集概述
- API接口说明
- 介绍Compiler的构造比较无趣,不如先过后面的,在用到compiler的时候再做讲解
- 使用Tinyxml2进行简单的xml操作