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;
};