LeetCode-in-Java

3827. Count Monobit Integers

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:

Example 2:

Input: n = 4

Output: 3

Explanation:

Constraints:

Solution

public class Solution {
    public int countMonobit(int n) {
        int count = 1;

        int val = 1;
        while (val <= n) {
            count++;
            val = (val << 1) | 1;
        }

        return count;
    }
}