组合-LintCode
来源:互联网 发布:vb 图片的放大缩小 编辑:程序博客网 时间:2024/06/06 04:19
组给出两个整数n和k,返回从1……n中选出的k个数的组合。
样例
例如 n = 4 且 k = 2
返回的解为:
[[2,4],[3,4],[2,3],[1,2],[1,3],[1,4]]
#ifndef C152_H#define C152_H#include<iostream>#include<vector>using namespace std;class Solution {public: /** * @param n: Given the range of numbers * @param k: Given the numbers of combinations * @return: All the combinations of k numbers out of 1..n */ vector<vector<int> > combine(int n, int k) { // write your code here vector<vector<int>> v; vector<vector<int>> comval; if (n <= 0 || k <= 0) return v; vector<int> val; int r = 1; while (r <= k) { v = comval; comval.clear(); if (r == 1) { for (int i = 1; i <= n; ++i) { val.push_back(i); v.push_back(val); val.clear(); } } int len = v.size(); for (int i = 0; i < len - 1; ++i) { int size = v[0].size(); if (v[i][size - 1] < n) { for (int j = v[i][size - 1] + 1; j <= n; ++j) { v[i].push_back(j); comval.push_back(v[i]); v[i].pop_back(); } } } ++r; } return v; }};#endif
阅读全文
0 0
- LintCode-组合
- LintCode : 组合
- LintCode:组合
- 组合-lintcode
- lintcode--组合
- 组合-LintCode
- LintCode-数字组合 II
- lintcode-组合-152
- lintcode-数字组合-135
- LintCode:数字组合
- LintCode:数字组合 II
- lintcode ----数字组合
- LintCode: 数字组合 II
- LintCode:数字组合
- 数字组合II-lintcode
- lintcode--数字组合
- lintcode -- 数字组合II
- 数字组合-LintCode
- 简易抽奖网页
- 数据结构实验之图论六:村村通公路
- hdu 6108 小C的倍数问题(同余定理)
- Autocomplete CodeForces
- HDU 1879 继续畅通工程【最小生成树】
- 组合-LintCode
- 各种概念POJO、JAVABEAN、DAO、DTO、PO、VO、BO、SSH、EJB
- 网易编程笔试题(二):地牢逃脱
- 算法题/位操作实现四则运算
- Mysql插入语句之value与values区别
- C++常见面试题
- Pandas知识点(三)
- [HDU](2112)HDU Today ---单源最短路径(图)
- oracle trunc()函数的用法