Skip to content

Commit 5fba15a

Browse files
committed
Added 1 JS solution for problem 90
1 parent 46333ca commit 5fba15a

File tree

1 file changed

+36
-0
lines changed

1 file changed

+36
-0
lines changed

javascript/90-Subsets-II.js

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
//////////////////////////////////////////////////////////////////////////////
2+
// Backtracking
3+
// Time: O(n*2^n)
4+
// Space: O(2^n)
5+
//////////////////////////////////////////////////////////////////////////////
6+
7+
/**
8+
* @param {number[]} nums
9+
* @return {number[][]}
10+
*/
11+
function subsetsWithDup(nums) {
12+
13+
nums.sort((a, b) => a - b);
14+
const results = [];
15+
const result = [];
16+
getSubsets();
17+
return results;
18+
19+
/**
20+
* @param {number} start = `0`
21+
* @return {void}
22+
*/
23+
function getSubsets(start = 0) {
24+
25+
results.push(result.slice());
26+
27+
for (let i = start; i < nums.length; ++i) {
28+
if (i !== start && nums[i] === nums[i - 1]) {
29+
continue;
30+
}
31+
result.push(nums[i]);
32+
getSubsets(i + 1);
33+
result.pop();
34+
}
35+
}
36+
}

0 commit comments

Comments
 (0)