本文介绍: 的二进制表示中连续的”1″之间的最大间隔。中”1″的数量,如果数量小于等于1,则意味着在二进制表示中只有一个“1”,因此返回0。在 22 的二进制表示中,有三个 1,组成两对相邻的 1。在 8 的二进制表示中没有相邻的两个 1,所以返回 0。第一对相邻的 1 中,两个 1 之间的距离为 2。第二对相邻的 1 中,两个 1 之间的距离为 1。中”1″的数量大于1,使用列表推导式找到二进制字符串。,用于存储二进制表示中所有”1″的索引位置。中所有”1″的索引位置,并将它们存储在列表。
1.题目
给定一个正整数 n
,找到并返回 n
的二进制表示中两个 相邻 1 之间的 最长距离 。如果不存在两个相邻的 1,返回 0
。
如果只有 0
将两个 1
分隔开(可能不存在 0
),则认为这两个 1 彼此 相邻 。两个 1
之间的距离是它们的二进制表示中位置的绝对差。例如,"1001"
中的两个 1
的距离为 3 。
示例 1:
示例 2:
示例 3:
提示:
2.解析
3.python代码
4.运行结果
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。