当前位置:网站首页>leetcode-693.交替位二进制数
leetcode-693.交替位二进制数
2022-08-03 15:53:00 【KGundam】
位运算
题目详情
**给定一个正整数,检查它的二进制表示是否总是 0、1 交替出现:换句话说,就是二进制表示中相邻两位的数字永不相同。
**
示例1:
输入:n = 5
输出:true
解释:5 的二进制表示是:101
示例2:
输入:n = 7
输出:false
解释:7 的二进制表示是:111.
示例3:
输入:n = 11
输出:false
解释:11 的二进制表示是:1011.
第一种方法:正常取余逐位比较
按题目要求老老实实比较每一位和它的前一位
class Solution
{
public:
bool hasAlternatingBits(int n)
{
int pre = -1; //注意初始化
while (n != 0)
{
int cur = n % 2;
if (cur == pre)
return false;
pre = cur;
n /= 2;
}
return true;
}
};
第二种方法:位运算!
举个例子你就懂了,假如有个数字101010101
我们将它右移一位,得到了010101010 ------刚刚好错位了!
相信你已经懂了,再将两者进行异或运算,如果满足交替位二进制数,就会得到111…111全是1的数
然后再根据 n&n-1 == 0的充要条件是n的二进制位上全是1 来验证即可
我的代码:
class Solution
{
public:
bool hasAlternatingBits(int n)
{
long a = n ^ (n >> 1);//注意类型
return (a & (a + 1)) == 0;
}
};
位运算常用技巧
边栏推荐
- Introduction to spark learning - 1
- MATLAB gcf figure save image with black background/transparent background
- 下午见!2022京东云数据库新品发布会
- 6000 字+,帮你搞懂互联网架构演变历程!
- 【Unity入门计划】制作RubyAdventure01-玩家的创建&移动
- How Navicat connects to MySQL on a remote server
- Yii2安装遇到Loading composer repositories with package information
- How to get the 2 d space prior to ViT?UMA & Hong Kong institute of technology & ali SP - ViT, study for visual Transformer 2 d space prior knowledge!.
- 为什么我强烈推荐使用智能化async?
- mysql delete 执行报错:You can‘t specify target table ‘doctor_info‘ for update in FROM clause
猜你喜欢
2021年数据泄露成本报告解读
Neural networks, cool?
参与便有奖,《新程序员》杂志福利来袭!
不可忽略!户外LED显示屏的特点及优势
Introduction to the advantages of the new generation mesh network protocol T-Mesh wireless communication technology
devops-3:Jenkins增加静态节点
Introduction to spark learning - 1
基于DMS的数仓智能运维服务,知多少?
【Unity入门计划】基本概念(8)-瓦片地图 TileMap 02
并发编程的核心问题
随机推荐
如何启动 NFT 集合
[微信小程序开发者工具] × #initialize
开源一夏 | 打工人的第25天-曾经的考研人
袁小林:沃尔沃专注于出行的安全感,并且把它做到极致
在 360 度绩效评估中应该问的 20 个问题
用户侧有什么办法可以自检hologres单表占用内存具体是元数据、计算、缓存的使用情况?
Essentially a database data recovery 】 【 database cannot read data recovery case
微电网和直流电网中最优潮流(OPF)的凸优化(Matlab代码实现)
兔起鹘落全端涵盖,Go lang1.18入门精炼教程,由白丁入鸿儒,全平台(Sublime 4)Go lang开发环境搭建EP00
With a single operation, I improved the SQL execution efficiency by 10,000,000 times!
聊聊这个SaaS领域爆火的话题
Optimal Power Flow (OPF) for High Voltage Direct Current (HVDC) (Matlab code implementation)
不可忽略!户外LED显示屏的特点及优势
Three key expectations for the crypto market in August Price moves north?Still expected to be in turmoil
ModelWhale 云端运行 WRF 中尺度数值气象模式,随时随地即开即用的一体化工作流
Small Tools(4) 整合Seata1.5.2分布式事务
神经网络,凉了?
ruoyi若依框架@DataScope注解使用以及碰到的一些问题
Taurus.MVC WebAPI 入门开发教程1:框架下载环境配置与运行(含系列目录)。
posgresql 到 es 报这个错误 ,啥意思