🗒️2571. 将整数减少到零需要的最少操作数
2025-2-25
| 2025-2-25
0  |  阅读时长 0 分钟
type
status
date
slug
summary
tags
category
icon
password
创建时间
Feb 25, 2025 02:27 AM
给你一个正整数 n ,你可以执行下述操作 任意 次:
  • n 加上或减去 2 的某个 
返回使 n 等于 0 需要执行的 最少 操作数。
如果 x == 2i 且其中 i >= 0 ,则数字 x 是 2 的幂。

位运算

遍历的普通解法

这里在判断的时候,可以进行优化,少判断一次

进阶技巧

一行代码搞定。参考 灵茶山艾府
对于多个连续 1,如果它和前面的 1 由至少两个 0 隔开的话,那么就需要先加上 lowbit,产生单个 1,再减去进位产生的 lowbit 去掉这个 1,那么需要操作两次。(两个 lowbit 指代的意思不一样)
(n << 1)

📎 参考

  • 【题单】位运算
  • 3315. 构造最小位运算数组 II1558. 得到目标数组的最少函数调用次数
    Loading...