File tree Expand file tree Collapse file tree 2 files changed +60
-0
lines changed Expand file tree Collapse file tree 2 files changed +60
-0
lines changed Original file line number Diff line number Diff line change 1+ /**
2+ * @param {number[] } nums
3+ * @return {number[][] }
4+ */
5+ let subsets = function ( nums ) {
6+ let res = [ ]
7+ let n = nums . length
8+ if ( n === 0 ) {
9+ return res
10+ }
11+
12+ let helper = ( start , prev , targetLength ) => {
13+ if ( start > n ) {
14+ return
15+ }
16+ if ( prev . length === targetLength ) {
17+ res . push ( prev )
18+ return
19+ }
20+
21+ for ( let i = start ; i < n ; i ++ ) {
22+ let cur = nums [ i ]
23+ helper ( i + 1 , prev . concat ( cur ) , targetLength )
24+ }
25+ }
26+
27+ for ( let j = 1 ; j <= nums . length ; j ++ ) {
28+ helper ( 0 , [ ] , j )
29+ }
30+
31+ return [ [ ] , ...res ]
32+ }
Original file line number Diff line number Diff line change 1+ /**
2+ * @param {number } n
3+ * @param {number } k
4+ * @return {number[][] }
5+ */
6+ let combine = function ( n , k ) {
7+ let ret = [ ]
8+
9+ let helper = ( start , prev ) => {
10+ let len = prev . length
11+ if ( len === k ) {
12+ ret . push ( prev )
13+ return
14+ }
15+
16+ if ( start > n ) {
17+ return
18+ }
19+
20+ for ( let i = start ; i <= n ; i ++ ) {
21+ helper ( i + 1 , prev . concat ( i ) )
22+ }
23+ }
24+ helper ( 1 , [ ] )
25+ return ret
26+ }
27+
28+ console . log ( combine ( 4 , 2 ) )
You can’t perform that action at this time.
0 commit comments