Smallest Number With All Set Bits

EasyMathBit Manipulation

Solution

export function smallestNumber(n: number): number {
  return (1 << bitLength(n)) - 1;
}
 
function bitLength(num: number): number {
  let length = 0;
  while (0 < num) {
    num >>= 1;
    length += 1;
  }
  return length;
}

Complexity

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