We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
1 parent 07ba418 commit 1476f9bCopy full SHA for 1476f9b
CountingBits/counting_bits.go
@@ -1,16 +1,24 @@
1
package main
2
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
+
18
func countBits(n int) []int {
- arr := make([]int, n+1)
- arr[0] = 0
- prevPow := 1
19
+ var array []int = make([]int, n+1)
20
for i := 1; i <= n; i++ {
- if i&(i-1) == 0 {
- arr[i] = 1
- prevPow = i
- continue
- }
- arr[i] = 1 + arr[i-prevPow]
21
+ array[i] = array[i>>1] + (i & 1)
22
}
- return arr
23
+ return array
24
0 commit comments