zoukankan      html  css  js  c++  java
  • 77. Combinations

    Given two integers n and k, return all possible combinations of k numbers out of 1 ... n.

    Example:

    Input: n = 4, k = 2
    Output:
    [
      [2,4],
      [3,4],
      [2,3],
      [1,2],
      [1,3],
      [1,4],
    ]

    AC code:

    class Solution {
    public:
        vector<vector<int>> combine(int n, int k) {
            vector<vector<int>> res;
            vector<int> temp;
            solvecombine(1, n, k, res, temp);
            return res;
        }
        
        void solvecombine(int begin, int n, int k, vector<vector<int>>& res, vector<int>& temp) {
            if (k == 0) {
                res.push_back(temp);
                return;
            }
            for (int i = begin; n-i+1 >= k; ++i) {
                temp.push_back(i);
                solvecombine(i+1, n, k-1, res, temp);
                temp.pop_back();
            }
        }
    };
    

    Runtime: 88 ms, faster than 42.24% of C++ online submissions for Combinations.

    永远渴望,大智若愚(stay hungry, stay foolish)
  • 相关阅读:
    hdu 6049 Sdjpx Is Happy
    L2-012. 关于堆的判断
    L2-010. 排座位
    L2-009. 抢红包
    L2-007. 家庭房产
    L2-008. 最长对称子串
    L2-011. 玩转二叉树
    l2-006 树的遍历
    l2-005
    l1-20 帅到没朋友
  • 原文地址:https://www.cnblogs.com/h-hkai/p/9842368.html
Copyright © 2011-2022 走看看