Skip to content

3370. Smallest Number With All Set Bits

Description

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

 

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

 

Solutions

Solution: Bit Manipulation

  • Time complexity: O(1)
  • Space complexity: O(1)

 

JavaScript

js
/**
 * @param {number} n
 * @return {number}
 */
const smallestNumber = function (n) {
  const bits = Math.floor(Math.log2(n)) + 1;

  return (1 << bits) - 1;
};

Released under the MIT license