k数和 II
来源:互联网 发布:网络电影投资 编辑:程序博客网 时间:2024/04/29 11:08
给定n个不同的正整数,整数k(1<= k <= n)以及一个目标数字。
在这n个数里面找出K个数,使得这K个数的和等于目标数字,你需要找出所有满足要求的方案。
样例 给出[1,2,3,4],k=2, target=5,返回[[1,4],[2,3]]
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<vector<int> > result; int n = A.size(); if (n < 1) { return result; } sort(A.begin(), A.end()); vector<int> buf; int sum = 0; visit(A, k, 0, n, sum, target, buf, result); return result; }private: void visit(vector<int> &A, int k, int pos, int n, int &sum, int target, vector<int> &buf, vector<vector<int> > &result) { if (k == 0) { if (sum == target) { result.push_back(buf); } return; } if (sum > 0 && target > 0 && sum > target) { return; } if (pos >= n) { return; } sum += A[pos]; buf.push_back(A[pos]); visit(A, k-1, pos+1, n, sum, target, buf, result); sum -= A[pos]; buf.pop_back(); visit(A, k, pos+1, n, sum, target, buf, result); }};
0 0
- k数和 II
- LintCode-k数和 II
- 题目:k数和 II
- LintCode k数和 II
- k数和 II-LintCode
- lintcode- k数和II-90
- Java实现-K数和II
- lintcode 90. k数和 II DFS
- k数II
- 90.k Sum II-k数和 II(中等题)
- LintCode-k数和
- LintCode -- k数和
- k数和
- k数和
- k数和
- LintCode-k数和
- k数和-LintCode
- hdu5919 Sequence II(主席树求区间数种数和k大查找)
- Java NIO 系列教程
- Java线程池使用说明
- ios webview自适应实际内容高度4种方法
- poj 1386 Play on Words(欧拉通路)
- HDU 1406 筛选
- k数和 II
- 面试题,凑14,将数组中相加为14的数去除,并升序排列
- 研究研究看似简单的switch问题
- Jboss配置远程调试
- cuda 图像分类
- 设计思想
- HDU 题目分类
- HDU 1879 继续畅通工程
- Android WiFi 应用程序例子