博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
leetcode693:Binary Number with Alternating Bits
阅读量:6889 次
发布时间:2019-06-27

本文共 163 字,大约阅读时间需要 1 分钟。

判断一个数字的二进制形式是不是01交替的。

如5=101,返回True
如7=111,返回False

这道题可以用位运算来实现。看到01交替,就想到移位运算。如果n是01交替的,移位之后进行异或,则得到的数字x各个位都是1。也就是x=n^(n>>1)

剩下的任务就是判断一个数字是否是2的幂减一。也就是((x+1)&x)==0

转载地址:http://chqbl.baihongyu.com/

你可能感兴趣的文章
rhel6.3 ntp服务器搭建过程
查看>>
Java数组的创建和初始化
查看>>
文档类型定义
查看>>
PHP POST接收处理 IOS上传NSData图片数据,上传图片到服务器
查看>>
Windows2008 R2修改3389端口教程
查看>>
SW2014中文版本出现中文语言丢失时可以安装2011的包修复
查看>>
SOAP接口
查看>>
编译安装
查看>>
IP报文头
查看>>
百度统计个人初探
查看>>
我的友情链接
查看>>
phpstorm使用
查看>>
单元测试、集成测试和系统测试的不同之处[转]
查看>>
Elasticsearch注意事项
查看>>
【数据结构】找出N个数据中最大的前k个数据(利用堆排序)
查看>>
centos7安装使用samba服务器免密码登录简单配置
查看>>
mysql中if-elesif-endif使用
查看>>
drbd状态信息详细说明
查看>>
apache详解
查看>>
闲聊 -软路由的安装
查看>>