网易首页 > 网易号 > 正文 申请入驻

2026-09-09:恰好一对连续置位。用go语言,给定一个整数,检查它的二进制形式里是否正好有一处“11”这样的连续两位都是1,并且不能有其

0
分享至

2026-09-09:恰好一对连续置位。用go语言,给定一个整数,检查它的二进制形式里是否正好有一处“11”这样的连续两位都是1,并且不能有其他相邻的1对,也不能有多于一对。满足条件则返回真,否则返回假。

0 <= n <= 100000。

输入: n = 6。

输出: true。

解释:

6 的二进制表示为 110 。

恰好存在一对相邻的置位("11")。因此,答案为 true 。

题目来自力扣3950。

第一步:构造标记“相邻 1 对”的掩码m

  1. 1. 对原整数n进行右移一位操作,得到n >> 1
    右移后,原来二进制中第i+1位的值,移动到了第i位的位置上。

  2. 2. 将原整数nn >> 1按位相与,得到m = n & (n >> 1)

  3. 3. 按位与的结果中,第i位为1当且仅当:

    也就是说,m的每一个1位,都对应原二进制中一个连续的“11”对。
    因此,m1的个数,就等于原二进制中相邻置位对的数量。

  • • 原整数n的第i位是1

  • • 原整数n的第i+1位也是1

第二步:判断m中是否恰好只有一个1

题目要求正好有一对连续置位,也就是要求m1的个数必须恰好为1

代码中的判断方式是:

  • • 首先检查m > 0,保证至少存在一个相邻1对;

  • • 然后检查m & (m - 1) == 0

m & (m - 1) == 0是判断一个数是否为2的幂的经典方法。
m > 0时,该条件成立,意味着m的二进制表示中有且只有一个1

如果m中有两个或更多个1,说明原二进制中存在多处相邻置位对,不符合要求,返回false
如果m == 0,说明不存在相邻置位对,也返回false

第三步:返回结果

只有当:

  • m > 0:至少有一处连续置位;

  • m & (m - 1) == 0:连续置位对的数量恰好为一处;

同时满足时,才返回true,否则返回false

举例说明

以输入n = 6为例:

  • 6的二进制是110

  • n >> 1得到3,二进制是011

  • m = 110 & 011 = 010,二进制中只有一个1

  • m > 0成立,且m & (m - 1) = 2 & 1 = 0成立。

  • • 所以返回true

再比如n = 7,二进制是111

  • n >> 13,二进制011

  • m = 111 & 011 = 011,有两个1,说明存在两处相邻置位对。

  • m & (m - 1) = 3 & 2 = 2 != 0,返回false

时间复杂度

整个过程中只使用了固定次数的位运算和比较操作,与输入整数的大小无关。
因此时间复杂度为:

O(1)

额外空间复杂度

算法只使用了有限的几个整型变量,没有使用数组、切片、递归栈等额外数据结构。
因此额外空间复杂度为:

O(1)

Go完整代码如下:

package main

import "fmt"

func consecutiveSetBits(n int) bool {
m := n & (n >> 1) // 所有相邻比特位的 &
return m > 0 && m&(m-1) == 0 // m 是否恰好有一个 1
}

func main() {
n := 6
result := consecutiveSetBits(n)
fmt.Println(result)
}

Python完整代码如下:

# -*-coding:utf-8-*-

def consecutive_set_bits(n: int) -> bool:
m = n & (n >> 1) # 所有相邻位都为 1 的位置
return m > 0 and (m & (m - 1)) == 0 # m 是否恰好只有一个 1

if __name__ == "__main__":
n = 6
print(consecutive_set_bits(n))

C++完整代码如下:

  


bool consecutiveSetBits(int n) {
int m = n & (n >> 1); // 所有相邻位都为1的位置
return m > 0 && (m & (m - 1)) == 0; // m 是否恰好只有一个1
}

int main() {
int n = 6;
bool result = consecutiveSetBits(n);
std::cout << std::boolalpha << result << std::endl;
return 0;
}

我们相信人工智能为普通人提供了一种“增强工具”,并致力于分享全方位的AI知识。在这里,您可以找到最新的AI科普文章、工具评测、提升效率的秘籍以及行业洞察。 欢迎关注“福大大架构师每日一题”,发消息可获得面试资料,让AI助力您的未来发展。

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
国民党最大敌人出现,内鬼名单已爆,郑丽文出手,全线押注不交权

国民党最大敌人出现,内鬼名单已爆,郑丽文出手,全线押注不交权

最终冲刺啊
2026-09-18 04:13:55
1999 年公安部下达秘密指令抓捕赖昌星,福建省公安厅一位副厅长深夜接连拨打四通电话,他在通话中的一句话,令专案组成员全部大为震惊

1999 年公安部下达秘密指令抓捕赖昌星,福建省公安厅一位副厅长深夜接连拨打四通电话,他在通话中的一句话,令专案组成员全部大为震惊

温柔记事簿
2026-09-17 10:41:47
厦门一跨海大桥有伸缩缝钢板被锈蚀,市民担心踩空坠落,管养部门回应

厦门一跨海大桥有伸缩缝钢板被锈蚀,市民担心踩空坠落,管养部门回应

新京报
2026-09-18 13:47:35
全球最受欢迎的十个国家:美国第三,西班牙第二,中国呢?

全球最受欢迎的十个国家:美国第三,西班牙第二,中国呢?

铭记历史呀
2026-09-17 14:17:58
两女子遭8人玷污,40名乘客无动于衷,江苏7.16特大抢劫轮奸案

两女子遭8人玷污,40名乘客无动于衷,江苏7.16特大抢劫轮奸案

易玄
2026-09-17 13:21:40
中央决定,闫国春履新职

中央决定,闫国春履新职

新京报
2026-09-18 13:32:28
杜凯琹:名古屋亚运那么差也不见外国人投诉,杭州亚运太好了

杜凯琹:名古屋亚运那么差也不见外国人投诉,杭州亚运太好了

星Xin辰大海
2026-09-18 04:46:19
马科斯没料到,被折磨到脱相的杜特尔特,在海牙打了场翻身仗

马科斯没料到,被折磨到脱相的杜特尔特,在海牙打了场翻身仗

湘评中外
2026-09-17 17:06:40
河南一男孩不慎打湿语文书怕挨骂,3天1:1手搓一本,连条形码也复刻;父亲:这都是高手做的事情,除了字差一点,别的没毛病

河南一男孩不慎打湿语文书怕挨骂,3天1:1手搓一本,连条形码也复刻;父亲:这都是高手做的事情,除了字差一点,别的没毛病

三湘都市报
2026-09-18 00:43:23
南医大坠亡事件大反转!同门师兄发声长文曝光导师"真面目"

南医大坠亡事件大反转!同门师兄发声长文曝光导师"真面目"

热心市民小黄
2026-09-17 21:45:50
敬一丹告别仪式结束,女儿王尔晴忍痛致谢,丈夫王梓木双眼哭肿

敬一丹告别仪式结束,女儿王尔晴忍痛致谢,丈夫王梓木双眼哭肿

180视角
2026-09-18 11:30:19
戴安娜弟弟新书爆料:查尔斯曾电话里低声说"我们很快就会忘了她"

戴安娜弟弟新书爆料:查尔斯曾电话里低声说"我们很快就会忘了她"

赴一场山海啊
2026-09-17 20:01:04
詹姆斯1500万代言接近薪水四倍,NBA名记警告工资帽漏洞

詹姆斯1500万代言接近薪水四倍,NBA名记警告工资帽漏洞

坠入温柔晚风
2026-09-17 12:38:35
“重大政策转变”,外媒:美国务院批准一项对沙特军售,含48架F-35战机

“重大政策转变”,外媒:美国务院批准一项对沙特军售,含48架F-35战机

环球网资讯
2026-09-18 11:08:57
高校毕业靠卖二手手机营收千万,拿个案当励志是最大的恶!

高校毕业靠卖二手手机营收千万,拿个案当励志是最大的恶!

胖胖说他不胖
2026-09-18 10:00:23
网传成都第一高楼因限高将停工,官方回应来了

网传成都第一高楼因限高将停工,官方回应来了

第一财经资讯
2026-09-17 22:08:24
这个菜使劲吃,头发黑了,腰不酸了,不起夜了,中老年记得吃

这个菜使劲吃,头发黑了,腰不酸了,不起夜了,中老年记得吃

华庭讲美食
2026-09-18 09:48:54
不卷了!都活通透了?有互联网大厂员工发帖感慨,如今六点、七点下班的情况越来越普遍

不卷了!都活通透了?有互联网大厂员工发帖感慨,如今六点、七点下班的情况越来越普遍

火山詩话
2026-09-17 18:27:00
离岸人民币兑美元一度升至6.6967,为2022年7月以来新高

离岸人民币兑美元一度升至6.6967,为2022年7月以来新高

每日经济新闻
2026-09-18 09:30:04
篮协开重大罚单,北京队被重罚,主教练禁赛,上海队没处罚引争议

篮协开重大罚单,北京队被重罚,主教练禁赛,上海队没处罚引争议

宗介说体育
2026-09-18 14:05:49
2026-09-18 14:36:49
moonfdd incentive-icons
moonfdd
福大大架构师每日一题
1462文章数 82关注度
往期回顾 全部

科技要闻

苹果店外黄牛蹲守:18 Pro Max加价500

头条要闻

折叠iPhone还没开售 维修费引热议:换块屏或8000元

头条要闻

折叠iPhone还没开售 维修费引热议:换块屏或8000元

体育要闻

一个角色球员,靠什么在NBA征战17年

娱乐要闻

敬一丹逝世 央视送别,女儿成“心病”

财经要闻

中国汽车:尾大不掉,必须出清

汽车要闻

纯电/插混双动力+五座/六座双布局 海狮08应该怎么选?

态度原创

旅游
健康
艺术
亲子
数码

旅游要闻

陈保平:黑角有个华工墓园——非洲之行五

剧烈头痛伴呕吐,警惕脑动脉瘤破裂

艺术要闻

韦启美 81岁时画的这幅瓶花,28.75万!

亲子要闻

愈见你|我的剖腹产纪事

数码要闻

满电青春再出发!航嘉“满电青年计划”9月20日登陆东华大学

无障碍浏览 进入关怀版