Skip to content

Commit 1476f9b

Browse files
committed
leetcode
1 parent 07ba418 commit 1476f9b

File tree

1 file changed

+18
-10
lines changed

1 file changed

+18
-10
lines changed

CountingBits/counting_bits.go

+18-10
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,24 @@
11
package main
22

3+
// func countBits(n int) []int {
4+
// arr := make([]int, n+1)
5+
// arr[0] = 0
6+
// prevPow := 1
7+
// for i := 1; i <= n; i++ {
8+
// if i&(i-1) == 0 {
9+
// arr[i] = 1
10+
// prevPow = i
11+
// continue
12+
// }
13+
// arr[i] = 1 + arr[i-prevPow]
14+
// }
15+
// return arr
16+
// }
17+
318
func countBits(n int) []int {
4-
arr := make([]int, n+1)
5-
arr[0] = 0
6-
prevPow := 1
19+
var array []int = make([]int, n+1)
720
for i := 1; i <= n; i++ {
8-
if i&(i-1) == 0 {
9-
arr[i] = 1
10-
prevPow = i
11-
continue
12-
}
13-
arr[i] = 1 + arr[i-prevPow]
21+
array[i] = array[i>>1] + (i & 1)
1422
}
15-
return arr
23+
return array
1624
}

0 commit comments

Comments
 (0)