File tree Expand file tree Collapse file tree 3 files changed +95
-0
lines changed
solution/0200-0299/0216.Combination Sum III Expand file tree Collapse file tree 3 files changed +95
-0
lines changed Original file line number Diff line number Diff line change @@ -688,6 +688,39 @@ function bitCount(i: number): number {
688
688
}
689
689
```
690
690
691
+ #### JavaScript
692
+
693
+ ``` js
694
+ function combinationSum3 (k , n ) {
695
+ const ans = [];
696
+ for (let mask = 0 ; mask < 1 << 9 ; ++ mask) {
697
+ if (bitCount (mask) === k) {
698
+ const t = [];
699
+ let s = 0 ;
700
+ for (let i = 0 ; i < 9 ; ++ i) {
701
+ if (mask & (1 << i)) {
702
+ t .push (i + 1 );
703
+ s += i + 1 ;
704
+ }
705
+ }
706
+ if (s === n) {
707
+ ans .push (t);
708
+ }
709
+ }
710
+ }
711
+ return ans;
712
+ }
713
+
714
+ function bitCount (i ) {
715
+ i = i - ((i >>> 1 ) & 0x55555555 );
716
+ i = (i & 0x33333333 ) + ((i >>> 2 ) & 0x33333333 );
717
+ i = (i + (i >>> 4 )) & 0x0f0f0f0f ;
718
+ i = i + (i >>> 8 );
719
+ i = i + (i >>> 16 );
720
+ return i & 0x3f ;
721
+ }
722
+ ```
723
+
691
724
#### C#
692
725
693
726
``` cs
Original file line number Diff line number Diff line change @@ -676,6 +676,40 @@ function combinationSum3(k: number, n: number): number[][] {
676
676
}
677
677
return ans ;
678
678
}
679
+ ```
680
+
681
+ #### JavaScript
682
+
683
+ ``` js
684
+ function combinationSum3 (k , n ) {
685
+ const ans = [];
686
+ for (let mask = 0 ; mask < 1 << 9 ; ++ mask) {
687
+ if (bitCount (mask) === k) {
688
+ const t = [];
689
+ let s = 0 ;
690
+ for (let i = 0 ; i < 9 ; ++ i) {
691
+ if (mask & (1 << i)) {
692
+ t .push (i + 1 );
693
+ s += i + 1 ;
694
+ }
695
+ }
696
+ if (s === n) {
697
+ ans .push (t);
698
+ }
699
+ }
700
+ }
701
+ return ans;
702
+ }
703
+
704
+ function bitCount (i ) {
705
+ i = i - ((i >>> 1 ) & 0x55555555 );
706
+ i = (i & 0x33333333 ) + ((i >>> 2 ) & 0x33333333 );
707
+ i = (i + (i >>> 4 )) & 0x0f0f0f0f ;
708
+ i = i + (i >>> 8 );
709
+ i = i + (i >>> 16 );
710
+ return i & 0x3f ;
711
+ }
712
+ ```
679
713
680
714
function bitCount(i: number): number {
681
715
i = i - ((i >>> 1) & 0x55555555);
Original file line number Diff line number Diff line change
1
+ function combinationSum3 ( k , n ) {
2
+ const ans = [ ] ;
3
+ for ( let mask = 0 ; mask < 1 << 9 ; ++ mask ) {
4
+ if ( bitCount ( mask ) === k ) {
5
+ const t = [ ] ;
6
+ let s = 0 ;
7
+ for ( let i = 0 ; i < 9 ; ++ i ) {
8
+ if ( mask & ( 1 << i ) ) {
9
+ t . push ( i + 1 ) ;
10
+ s += i + 1 ;
11
+ }
12
+ }
13
+ if ( s === n ) {
14
+ ans . push ( t ) ;
15
+ }
16
+ }
17
+ }
18
+ return ans ;
19
+ }
20
+
21
+ function bitCount ( i ) {
22
+ i = i - ( ( i >>> 1 ) & 0x55555555 ) ;
23
+ i = ( i & 0x33333333 ) + ( ( i >>> 2 ) & 0x33333333 ) ;
24
+ i = ( i + ( i >>> 4 ) ) & 0x0f0f0f0f ;
25
+ i = i + ( i >>> 8 ) ;
26
+ i = i + ( i >>> 16 ) ;
27
+ return i & 0x3f ;
28
+ }
You can’t perform that action at this time.
0 commit comments