LintCode-k数和 II
2015-06-24 23:25
141 查看
给定n个不同的正整数,整数k(1<= k <= n)以及一个目标数字。
在这n个数里面找出K个数,使得这K个数的和等于目标数字,你需要找出所有满足要求的方案。
您在真实的面试中是否遇到过这个题?
Yes
样例
给出[1,2,3,4],k=2,
target=5,返回 [[1,4],[2,3]]
标签 Expand
相关题目 Expand
分析:就是简单的递归练习,注意剪枝
代码:
在这n个数里面找出K个数,使得这K个数的和等于目标数字,你需要找出所有满足要求的方案。
您在真实的面试中是否遇到过这个题?
Yes
样例
给出[1,2,3,4],k=2,
target=5,返回 [[1,4],[2,3]]
标签 Expand
相关题目 Expand
分析:就是简单的递归练习,注意剪枝
代码:
class Solution { public: /** * @param A: an integer array. * @param k: a positive integer (k <= length(A)) * @param target: a integer * @return a list of lists of integer */ vector<vector<int> > kSumII(vector<int> A, int k, int target) { // write your code here vector<int> cur; vector<vector<int> > ret; deal(A,0,k,target,0,cur,ret); return ret; } void deal(vector<int>& A,int index,int k,int target,int sum,vector<int> cur,vector<vector<int> > &ret) { if(cur.size()==k&&sum==target) { ret.push_back(cur); return; } if(index==A.size()) return; if(sum>target) return; cur.push_back(A[index]); deal(A,index+1,k,target,sum+A[index],cur,ret); cur.pop_back(); deal(A,index+1,k,target,sum,cur,ret); } };
相关文章推荐
- 指针小应用:推箱子游戏
- python 常用对linux系统文件及目录的操作
- 输入值/表单提交参数过滤有效防止sql注入的方法
- docker中 启动所有的容器命令
- JAVA基础第五天
- python 日期时间处理
- 多态总结
- WIFI知识学习
- 【Effective c++ 读书笔记】条款01 视 C++ 为一个语言联邦
- python 压缩每周生成的数据文件
- 使用volley并结合HttpClient实现上传文件
- OBJ文件中顶点的对应值
- 欢迎使用CSDN-markdown编辑器
- Linux学习笔记 (六)用户管理命令
- SQLServer数据库导入.mdf文件报错解决问题
- 实验一:算数编码实验
- 刷新页面的几种方法
- 网络编程之python zeromq学习系列之一
- Shell笔记
- Asset Store 下载的package存放位置