Here, We see Combinations LeetCode Solution. This Leetcode problem is done in many programming languages like C++, Java, JavaScript, Python, etc. with different approaches.
List of all LeetCode Solution
![Combinations LeetCode Solution](https://i0.wp.com/totheinnovation.com/wp-content/uploads/2024/02/LeetCode-Problem-Solution.png?resize=200%2C200&ssl=1)
Combinations LeetCode Solution
Table of Contents
Problem Statement
Given two integers n
and k
, return all possible combinations of k
numbers are chosen from the range [1, n]
.
You may return the answer in any order.
Example 1: Input: n = 4, k = 2 Output: [[1,2],[1,3],[1,4],[2,3],[2,4],[3,4]] Explanation: There are 4 choose 2 = 6 total combinations. Note that combinations are unordered, i.e., [1,2] and [2,1] are considered to be the same combination. Example 2: Input: n = 1, k = 1 Output: [[1]] Explanation: There is 1 choose 1 = 1 total combination.
Combinations Leetcode Solution C++
class Solution {
public:
vector<vector<int>> combine(int n, int k) {
vector<int> temp;
vector<vector<int>> ans;
help(1, temp, ans, n, k);
return ans;
}
void help(int num, vector<int> &temp, vector<vector<int>> &ans, int n, int k){
if(temp.size() == k){
ans.push_back(temp);
return;
}
for(int i=num; i<=n; i++){
temp.push_back(i);
help(i+1, temp, ans, n, k);
temp.pop_back();
}
}
};
Code language: JavaScript (javascript)
Combinations Leetcode Solution Java
class Solution {
public List<List<Integer>> combine(int n, int k) {
List<List<Integer>> result = new ArrayList<List<Integer>>();
if (k > n || k < 0) {
return result;
}
if (k == 0) {
result.add(new ArrayList<Integer>());
return result;
}
result = combine(n - 1, k - 1);
for (List<Integer> list : result) {
list.add(n);
}
result.addAll(combine(n - 1, k));
return result;
}
}
Code language: PHP (php)
Combinations Leetcode Solution JavaScript
var combine = function(n, k) {
if (n == 1 && k == 1) return [[1]];
let out = [];
const dfs = (currentSolution, startNumber, out) => {
if (currentSolution.length == k) out.push(Array.from(currentSolution));
for (let i = startNumber; i <= n; i++) {
currentSolution.push(i);
dfs(currentSolution, i + 1, out);
currentSolution.pop();
}
}
dfs([], 1, out);
return out;
};
Code language: JavaScript (javascript)
Combinations Leetcode Solution Python
class Solution(object):
def combine(self, n, k):
if k == 0:
return [[]]
return [pre + [i] for i in range(k, n+1) for pre in self.combine(i-1, k-1)]