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)
  • 相关阅读:
    python socket 二进制
    全面介绍内存管理机制
    glog修改
    mysql c api
    http twisted
    IOCP 模型1
    IOCP 模型2 AcceptEx
    python
    Python Twisted
    Java 拾遗
  • 原文地址:https://www.cnblogs.com/h-hkai/p/9842368.html
Copyright © 2011-2022 走看看