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

网站建设与管理专业课程建设招标网 官方网站

网站建设与管理专业课程,建设招标网 官方网站,泸县建设局网站,国外网站建设什么价格❓693. 交替位二进制数 难度:简单 给定一个正整数,检查它的二进制表示是否总是 0、1 交替出现:换句话说,就是二进制表示中相邻两位的数字永不相同。 示例 1: 输入:n 5 输出:true 解释&#…

❓693. 交替位二进制数

难度:简单

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

示例 1:

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

示例 2:

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

示例 3:

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

提示:

  • 1 < = n < = 2 31 − 1 1 <= n <= 2^{31} - 1 1<=n<=2311

💡思路:

基础知识必知:一篇文章搞懂位运算

法一:数学

  • n转换成二进制以10结尾的数;
  • 然后使用数学除法,除以 4,判断余数的二进制是否为10(对应的十进制为 2),如果不是,则不是交替位二进制数,返回false

法二:位运算

对于 1010 这种位级表示的数,把它向右移动 1 位得到 101,这两个数每个位都不同,因此异或得到的结果为 1111

  1. 对输入 n 的二进制表示右移一位后,得到的数字再与 n 按位异或得到 a

    • 当且仅当输入 n交替位二进制数时,a 的二进制表示全为 111(不包括前导 000)。
  2. aa+1 按位与,当且仅当 a 的二进制表示全为 1 时,结果为 0

结合上述两步,可以判断输入是否为交替位二进制数

🍁代码:(Java、C++)

法一:数学
Java

class Solution {public boolean hasAlternatingBits(int n) {if((n & (-n)) == 1) n >>= 1;while(n > 0){if(n % 4 != 2) return false;n /= 4;}return true;}
}

C++

class Solution {
public:bool hasAlternatingBits(int n) {if((n & (-n)) == 1) n >>= 1;while(n > 0){if(n % 4 != 2) return false;n /= 4;}return true;}
};

法二:位运算
Java

class Solution {public boolean hasAlternatingBits(int n) {int a = (n ^ (n >>> 1));return (a & (a + 1)) == 0;}
}

C++

class Solution {
public:bool hasAlternatingBits(int n) {long a = (n ^ (n >> 1));return (a & (a + 1)) == 0;}
};

🚀 运行结果:

在这里插入图片描述

🕔 复杂度分析:

  • 时间复杂度 O ( 1 ) O(1) O(1),仅使用了常数时间来计算。
  • 空间复杂度 O ( 1 ) O(1) O(1),使用了常数空间来存储中间变量。

题目来源:力扣。

放弃一件事很容易,每天能坚持一件事一定很酷,一起每日一题吧!
关注我 leetCode专栏,每日更新!

注: 如有不足,欢迎指正!

http://www.yayakq.cn/news/436873/

相关文章:

  • 进口彩妆做的好的网站做网站要素
  • 安徽元鼎建设工程 网站公司变更证明模板
  • 如东做网站公司网站的域名和密码是什么意思
  • 番禺做网站系统团队建设海报网站
  • 宝塔如何搭建网站网页紧急升级
  • 珠宝玉器监测网站建设方案php网站怎么做缓存
  • 沂水网站制作阳江网站设计
  • 怎么做网站推广电话京东商城网站风格
  • 重庆企业网站推广平台国家为什么把安阳分了
  • 网站建设外包需要注意哪些网站开发推进计划表
  • 保定网站建设方案维护东莞是哪个省
  • 网站优化开发中卫网红大型蹦床设备
  • 宠物店网站开发文档撰写汉字域名注册
  • 重庆万州网站建设公司电话网站模板设计教程
  • 网站开发下载哪个在东营怎么建网站
  • 全国建设网站wordpress 什么是分类
  • 网站改版文案做设计的去哪些大厂
  • 深圳龙岗网站建设个人网站趋向
  • 长沙seo网站优化化妆品包装设计
  • 品牌网站设计制作公司地址冷门不重名的公司名称
  • 如何建立免费公司网站重庆市建设工程管理信息网
  • 网站产品关键词导出通辽市做网站公司
  • 东莞网站建设_东莞网页设计】现在做网站用什么软件
  • 优秀服装网站设计潼南网站建设
  • 国内扁平化网站欣赏wordpress插件jetpack
  • 企业网站建设专业精准一 鸣远科技wordpress七牛云使用
  • 专注新乡网站建设画册设计内容
  • 网站优化报告网站建设案例收费情况
  • 重庆招标建设信息网站浙江建筑信息网站
  • 深圳关键词推广整站优化网站产品关键词导出