77. Combinations | LeetCode Solution

  77. Combinations | LeetCode Solution


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

You may return the answer in any order.

 

Example 1:

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

Example 2:

Input: n = 1, k = 1
Output: [[1]]

 

Constraints:

  • 1 <= n <= 20
  • 1 <= k <= n

class Solution
{
public:
  vector<vector<int>> combine(int n, int k)
  {
    vector<vector<int>> result;
    int i = 0;
    vector<int> p(k, 0);
    while (>= 0)
    {
      p[i]++;
      if (p[i] > n)
        --i;
      else if (== k - 1)
        result.push_back(p);
      else
      {
        ++i;
        p[i] = p[- 1];
      }
    }
    return result;
  }
};

Post a Comment

0 Comments