Easy
You are given an integer n.
An integer is called Monobit if all bits in its binary representation are the same.
Return the count of Monobit integers in the range [0, n] (inclusive).
Example 1:
Input: n = 1
Output: 2
Explanation:
[0, 1] have binary representations "0" and "1".Example 2:
Input: n = 4
Output: 3
Explanation:
[0, 4] include binaries "0", "1", "10", "11", and "100".Constraints:
0 <= n <= 1000class Solution {
fun countMonobit(n: Int): Int {
var count = 1
var `val` = 1
while (`val` <= n) {
count++
`val` = (`val` shl 1) or 1
}
return count
}
}