Construct the Minimum Bitwise Array I

EasyArrayBit Manipulation

Solution

export function minBitwiseArray(nums: number[]): number[] {
  const answer = [];
  for (const num of nums) {
    if (num % 2 === 0) {
      answer.push(-1);
    } else {
      answer.push(num - Math.floor(((num + 1) & (-num - 1)) / 2));
    }
  }
  return answer;
}

Complexity

  • Time: O(N)
  • Space: O(N)