news 2026/10/19 4:29:48

LeetCode 693.交替位二进制数:位运算(O(1)非O(log n))

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
LeetCode 693.交替位二进制数:位运算(O(1)非O(log n))

【LetMeFly】693.交替位二进制数:位运算(O(1)非O(log n))

力扣题目链接:https://leetcode.cn/problems/binary-number-with-alternating-bits/

给定一个正整数,检查它的二进制表示是否总是 0、1 交替出现:换句话说,就是二进制表示中相邻两位的数字永不相同。

示例 1:

输入:n = 5输出:true解释:5 的二进制表示是:101

示例 2:

输入:n = 7输出:false解释:7 的二进制表示是:111.

示例 3:

输入:n = 11输出:false解释:11 的二进制表示是:1011.

提示:

  • 1 <= n <= 231- 1

解题方法:位运算

假设原来数字是101010,那么右移一位后变成010101,异或变成111111。

当且仅当原数字n nn是01交替时有n ^ ( n > > 1 ) n\ \hat{}\ (n>>1)n^(n>>1)全是1。

假设x = n ^ ( n > > 1 ) x=n\ \hat{}\ (n>>1)x=n^(n>>1),如何判断x xx中是否全是1 11呢?令111111+1=1000000,1000000&111111=0。

当且仅当x xx二进制下全是1时有x & ( x + 1 ) = 0 x\&(x+1)=0x&(x+1)=0。

  • 时间复杂度O ( 1 ) O(1)O(1)
  • 空间复杂度O ( 1 ) O(1)O(1)

注意计算过程中不要超过有符号型int32。

AC代码

C++
/* * @LastEditTime: 2026-02-18 14:54:30 */classSolution{public:boolhasAlternatingBits(intn){unsignedx=(n>>1)^n;return((x+1)&x)==0;}};
Python
''' LastEditTime: 2026-02-18 15:02:19 '''classSolution:defhasAlternatingBits(self,n:int)->bool:x=(n>>1)^nreturn(x+1)&x==0
Java
/* * @LastEditTime: 2026-02-18 15:00:15 */classSolution{publicbooleanhasAlternatingBits(intn){intx=(n>>1)^n;return(x&(x+1))==0;}}
Go
/* * @LastEditTime: 2026-02-18 15:01:13 */packagemainfunchasAlternatingBits(nint)bool{x:=(n>>1)^nreturn(x&(x+1))==0}
Rust
/* * @LastEditTime: 2026-02-18 14:59:11 */implSolution{pubfnhas_alternating_bits(n:i32)->bool{letx:usize=((n>>1)^n)asusize;(x&(x+1))==0}}

同步发文于CSDN和我的个人博客,原创不易,转载经作者同意后请附上原文链接哦~

千篇源码题解已开源

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/19 4:29:34

小d和超级泡泡堂【牛客tracker 每日一题】

小d和超级泡泡堂 时间限制&#xff1a;1秒 空间限制&#xff1a;256M 网页链接 牛客tracker 牛客tracker & 每日一题&#xff0c;完成每日打卡&#xff0c;即可获得牛币。获得相应数量的牛币&#xff0c;能在【牛币兑换中心】&#xff0c;换取相应奖品&#xff01;助力…

作者头像 李华
网站建设 2026/10/5 18:12:19

本科生必看!标杆级的降AIGC工具 —— 千笔·专业降AI率智能体

在AI技术快速发展的今天&#xff0c;越来越多的本科生开始借助AI工具辅助论文写作&#xff0c;以提升效率和内容质量。然而&#xff0c;随之而来的AI率超标问题却成为学术道路上的一大隐患。随着查重系统对AI生成内容的识别能力不断提升&#xff0c;许多学生发现自己的论文不仅…

作者头像 李华
网站建设 2026/10/5 18:14:20

一文讲透|9个AI论文软件测评:本科生毕业论文写作全攻略

在当前高校学术环境中&#xff0c;本科生撰写毕业论文已成为一项重要且复杂的任务。面对选题确定、文献综述、逻辑构建、格式规范等多重挑战&#xff0c;越来越多的学生开始借助AI写作工具提升效率。为了帮助广大学生更科学地选择适合自己的论文辅助工具&#xff0c;笔者基于20…

作者头像 李华
网站建设 2026/10/5 18:14:24

YOLOv12 改进 | Backbone改进 2

目录 核心设计思想 完整源码实现 1. 创建双分支骨干模块文件 2. 修改任务文件以支持蒸馏训练 3. 创建蒸馏损失函数 YAML配置文件 插入步骤 步骤1:文件放置 步骤2:注册模块 步骤3:训练脚本 对比测试结果 关键改进点 消融实验预期 部署建议 参考文献 硬件感知…

作者头像 李华