20 lines
362 B
Go
20 lines
362 B
Go
// Package q1680 implements a solution for https://leetcode.com/problems/concatenation-of-consecutive-binary-numbers/
|
|
package q1680
|
|
|
|
const MOD int = 1e9 + 7
|
|
|
|
func concatenatedBinary(n int) int {
|
|
ret := 0
|
|
binLen := 1
|
|
|
|
for c := 1; c <= n; c++ {
|
|
if 1<<binLen <= c {
|
|
binLen++
|
|
}
|
|
|
|
ret = (ret<<binLen + c) % MOD
|
|
}
|
|
return ret
|
|
}
|
|
|
|
var _ = concatenatedBinary
|