1611.js
/** ------------------------------------------------------------------------------
*
* 1611. Minimum One Bit Operations to Make Integers Zero
* Topics: DP
* https://leetcode.com/problems/minimum-one-bit-operations-to-make-integers-zero/description/?envType=daily-question&envId=2025-11-08
*
------------------------------------------------------------------------------ */
var minimumOneBitOperations = function (n) {
let ind = 0
let ans = []
while (n !== 0) {
if ((n & 1) === 1) {
let temp = Math.pow(2, ind)
temp = temp * 2
temp--
ans.push(temp)
}
ind++
n = n >> 1
}
let res = 0
ans.reverse()
let flag = true
for (let it of ans) {
if (flag) {
res += it
flag = false
} else {
res -= it
flag = true
}
}
return res
}
console.log(minimumOneBitOperations(3))