1
0
mirror of https://gitee.com/coder-xiaomo/leetcode-problemset synced 2025-01-10 18:48:13 +08:00
Code Issues Projects Releases Wiki Activity GitHub Gitee
leetcode-problemset/leetcode-cn/problem (Chinese)/将整数减少到零需要的最少操作数 [minimum-operations-to-reduce-an-integer-to-0].html
2023-02-27 23:41:45 +08:00

44 lines
1.4 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<p>给你一个正整数 <code>n</code> ,你可以执行下述操作 <strong>任意</strong> 次:</p>
<ul>
<li><code>n</code> 加上或减去 <code>2</code> 的某个 <strong></strong></li>
</ul>
<p>返回使 <code>n</code> 等于 <code>0</code> 需要执行的 <strong>最少</strong> 操作数。</p>
<p>如果 <code>x == 2<sup>i</sup></code> 且其中 <code>i &gt;= 0</code> ,则数字 <code>x</code><code>2</code> 的幂。</p>
<p>&nbsp;</p>
<p><strong>示例 1</strong></p>
<pre>
<strong>输入:</strong>n = 39
<strong>输出:</strong>3
<strong>解释:</strong>我们可以执行下述操作:
- n 加上 2<sup>0</sup> = 1 ,得到 n = 40 。
- n 减去 2<sup>3</sup> = 8 ,得到 n = 32 。
- n 减去 2<sup>5</sup> = 32 ,得到 n = 0 。
可以证明使 n 等于 0 需要执行的最少操作数是 3 。
</pre>
<p><strong>示例 2</strong></p>
<pre>
<strong>输入:</strong>n = 54
<strong>输出:</strong>3
<strong>解释:</strong>我们可以执行下述操作:
- n 加上 2<sup>1</sup> = 2 ,得到 n = 56 。
- n 加上 2<sup>3</sup> = 8 ,得到 n = 64 。
- n 减去 2<sup>6</sup> = 64 ,得到 n = 0 。
使 n 等于 0 需要执行的最少操作数是 3 。
</pre>
<p>&nbsp;</p>
<p><strong>提示:</strong></p>
<ul>
<li><code>1 &lt;= n &lt;= 10<sup>5</sup></code></li>
</ul>