Skip to content

3676. Smallest Number With All Set Bits


3676. Smallest Number With All Set Bits

Easy


You are given a positive number n.

Return the smallest number x greater than or equal to n, such that the binary representation of x contains only set bits.

A set bit refers to a bit in the binary representation of a number that has a value of 1.

 

Example 1:

Input: n = 5

Output: 7

Explanation:

The binary representation of 7 is "111".

Example 2:

Input: n = 10

Output: 15

Explanation:

The binary representation of 15 is "1111".

Example 3:

Input: n = 3

Output: 3

Explanation:

The binary representation of 3 is "11".

 

Constraints:

  • 1 <= n <= 1000

Solution

class Solution {
    public int smallestNumber(int n) {
        while (true) {
            int new_num = n + 1;
            int temp = new_num & (new_num - 1);
            if (temp == 0) return n;
            n++;
        }   
    }
}

Complexity Analysis

  • Time Complexity: O(?)
  • Space Complexity: O(?)

Explanation

[Add detailed explanation here]