当前位置: 首页 > news >正文

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 nn01交替时有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=10000001000000&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和我的个人博客,原创不易,转载经作者同意后请附上原文链接哦~

千篇源码题解已开源

http://www.jsqmd.com/news/392046/

相关文章:

  • 2026年2月离心水泵厂家最新推荐,流体输送与高效动力技术解析 - 品牌鉴赏师
  • 同样回收京东 E 卡,为啥你总亏?正规平台这么选,省心又划算! - 可可收
  • 国际课程线上辅导机构对比评测:学习成果与使用场景全景分析(IB / A-Level / AP / IGCSE) - 品牌测评鉴赏家
  • 专科生必看!千笔ai写作,好评如潮的AI论文软件
  • COMSOL光子晶体中的角态与边界态
  • 咸阳室内装修设计大揭秘:哪家厂商值得信赖?沙发/重钢/pur封边/背景墙/庭院/书柜/墙板,装修设计企业口碑推荐榜 - 品牌推荐师
  • 定稿前必看!10个降AIGC平台测评:自考降AI率必备工具推荐
  • 闲置百联OK卡怎么处理?主流回收途径+实用技巧,一看就会 - 可可收
  • 深入解析:一个月的天数、银行存款到期日、实数运算——day2
  • 照着用就行:千笔写作工具,本科生论文写作神器
  • 分期乐商城额度怎么正规流转?安全操作方法一文讲清 - 可可收
  • 2026年2月渣浆工业水泵厂家权威推荐,矿用渣浆输送与耐用性能解析 - 品牌鉴赏师
  • 2026 年 1 月花灯厂家推荐,品质之选别错过,巡游花灯/春节国潮花灯/国风花灯/春节花灯,花灯加工厂排行榜单 - 品牌推荐师
  • 照着用就行:千笔ai写作,专科生论文救星!
  • 2025年行业内口碑好的仓储货架品牌推荐排行榜单,仓储重型货架/公司库房货架/多层货架,仓储货架生产厂家推荐榜单 - 品牌推荐师
  • ClawX 在 Linux 服务器上的完整部署指南
  • Concept-Enhanced Multimodal RAG Towards Interpretable and Accurate Radiology Report Generation
  • 建议收藏|AI论文网站 千笔 VS PaperRed,MBA专属写作神器!
  • 2026更新版!8个降AIGC工具测评:研究生降AI率必备指南
  • 2026古筝选购攻略:新手如何挑选到心仪的古筝?瑶鸾古筝Y103系列(梦蝶)/瑶鸾古筝Y508系列,古筝供应商有哪些 - 品牌推荐师
  • 中望3D2026技巧:利用【高度分析】快速区分模型中的平面与曲面
  • 互联网大厂Java面试:支付与金融服务场景全面解析
  • 中望3D2026实时查询曲面半径
  • android9.0 amlogic 遥控器POWER按键的假待机的搭建
  • 整理手机卡包别浪费!支付宝立减金这样处理更省心 - 可可收
  • 万爱通礼品卡如何回收?常见交易陷阱与解决方案揭晓! - 团团收购物卡回收
  • 2026虹口宠物医院口碑调查:哪些医院更受欢迎,猫咪体检/宠物医院/猫咪绝育/宠物内科/宠物外科,宠物医院排名前十 - 品牌推荐师
  • 09]delphi中richedit查找
  • 微信立减金回收简易流程:闲置福利不浪费,合规处理更省心 - 可可收
  • 2026年高性价比云服务器推荐|阿里云+腾讯云+雨云科技+凌霞软件专属福利,建站/开发必看