File tree 2 files changed +56
-1
lines changed
2 files changed +56
-1
lines changed Original file line number Diff line number Diff line change 3
3
* @return {number[] }
4
4
*/
5
5
const countBits = ( n ) => {
6
+ let result = [ ] ;
7
+ //
8
+ // console.log(n & 1);
9
+ // n >>= 1;
10
+ //
11
+ // console.log(n & 1);
12
+ // n >>= 1;
13
+ // console.log(n & 1);
14
+ // n >>= 1;
15
+ // console.log(n)
6
16
7
- return ;
17
+ for ( let i = 0 ; i < n + 1 ; i ++ ) {
18
+ result . push ( helper ( i ) )
19
+ }
20
+
21
+ console . log ( "result" )
22
+ console . log ( result )
23
+
24
+
25
+ return result ;
26
+ }
27
+
28
+ const helper = ( n ) => {
29
+ let count = 0 ;
30
+
31
+ while ( n ) {
32
+ n &= n - 1 ;
33
+ count ++ ;
34
+ }
35
+
36
+ return count ;
8
37
}
38
+
39
+ countBits ( 5 )
Original file line number Diff line number Diff line change
1
+ /**
2
+ * @param {number } n
3
+ * @return {number[] }
4
+ */
5
+ const countBits = ( n ) => {
6
+ let result = [ ] ;
7
+
8
+ for ( let i = 0 ; i < n + 1 ; i ++ ) {
9
+ result . push ( helper ( i ) )
10
+ }
11
+
12
+ return result ;
13
+ }
14
+
15
+ const helper = ( n ) => {
16
+ let count = 0 ;
17
+
18
+ while ( n ) {
19
+ n &= n - 1 ;
20
+ count ++ ;
21
+ }
22
+
23
+ return count ;
24
+ }
You can’t perform that action at this time.
0 commit comments