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)/二进制间距 [binary-gap].html
2022-03-29 12:43:11 +08:00

46 lines
1.5 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>,找到并返回 <code>n</code> 的二进制表示中两个 <strong>相邻</strong> 1 之间的<strong> 最长距离 </strong>。如果不存在两个相邻的 1返回 <code>0</code></p>
<p>如果只有 <code>0</code> 将两个 <code>1</code> 分隔开(可能不存在 <code>0</code> ),则认为这两个 1 彼此 <strong>相邻</strong> 。两个 <code>1</code> 之间的距离是它们的二进制表示中位置的绝对差。例如,<code>"1001"</code> 中的两个 <code>1</code> 的距离为 3 。</p>
<p>&nbsp;</p>
<ul>
</ul>
<p><strong>示例 1</strong></p>
<pre>
<strong>输入:</strong>n = 22
<strong>输出:</strong>2
<strong>解释:</strong>22 的二进制是 "10110" 。
在 22 的二进制表示中,有三个 1组成两对相邻的 1 。
第一对相邻的 1 中,两个 1 之间的距离为 2 。
第二对相邻的 1 中,两个 1 之间的距离为 1 。
答案取两个距离之中最大的,也就是 2 。
</pre>
<p><strong>示例 2</strong></p>
<pre>
<strong>输入:</strong>n = 8
<strong>输出:</strong>0
<strong>解释:</strong>8 的二进制是 "1000" 。
在 8 的二进制表示中没有相邻的两个 1所以返回 0 。
</pre>
<p><strong>示例 3</strong></p>
<pre>
<strong>输入:</strong>n = 5
<strong>输出:</strong>2
<strong>解释:</strong>5 的二进制是 "101" 。
</pre>
<p>&nbsp;</p>
<p><strong>提示:</strong></p>
<ul>
<li><code>1 &lt;= n &lt;= 10<sup>9</sup></code></li>
</ul>