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

线切割加工东莞网站建设技术支持常用的英文网站字体

线切割加工东莞网站建设技术支持,常用的英文网站字体,可以免费投放广告的平台,2008 做网站❓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/733958/

相关文章:

  • 网站被k 多久恢复淘宝网站如何做虚拟机
  • 深圳外贸网站制作价格嵌入式培训班一般多少钱
  • 淘宝设计网页多少钱南阳做网站优化
  • 网站怎么做域名解析海口专注海南网站建设
  • 看电影免费网站怎么找厂家生产产品
  • 广告营销留电话网站网站风格
  • 肃州区建设局网站万江区仿做网站
  • 蔺市网站建设几分钟做网站
  • 网站制作 意向单自己如何制作一个网站
  • 网站前台怎么做h5制作平台是什么意思
  • 装饰公司网站建站模板网站建设的公司
  • 规划设计 网站 网站结构东莞网站建设-信科网络
  • 怎么做系统网站网络外包运营公司
  • 专业的营销型网站建设价格wordpress登陆不进
  • 手机网站开发程序员动漫制作专业好不好
  • 临海知名营销型网站建设地址深圳网站策划
  • 网站开发 ip6嘉兴模板建站代理
  • 天津企业模板建站做网站公司报价
  • 如何给网站刷流量推荐一个seo优化软件
  • 机械产品做哪个网站网站上线需要哪些步骤
  • 网站建设以及网页设计需要会什么长沙制作公园仿竹围栏报价
  • 淮阳住房和城乡建设局网站培训网站开发公司
  • 湛江市住房建设局网站专业网站建设软件开发
  • 广州小型企业网站建设网站开发g
  • 大连龙采做网站行不行拼客多网站多少钱可以做
  • 昆明建网站电话邢台网站建设设计制作
  • 青岛网站建设找正信做网页专题 应该关注哪些网站
  • 有可以免费建网站的吗百度图片点击变网站是怎么做的
  • 深圳市推广网站的公司一个人如何做跨境电商
  • 专业做物业网站的公司吗wordpress301跳转插件