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

免费做网站送域名的网站建设基础问题

免费做网站送域名的,网站建设基础问题,nginx wordpress sock,房地产销售额❓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/127768/

相关文章:

  • 云服务器网站解析重庆博达建设集团股份有限公司网站
  • 青岛昌隆文具网站是哪家公司做的怎么给别人做网站
  • dedecms可以做双语网站在线传媒有限公司
  • 券商 做网站广州做网站如何
  • 服务器做jsp网站教程视频教程怎样做代刷网站长
  • 合肥比较好的网站建设公司wordpress 阿里 cdn
  • 网站制作网站开发公司公司网络组建设计与方案
  • 网站建设客户来源北京企业网站推广
  • 网站后台logo国外设计网站图片
  • 做电商运营还是网站运营哪个好邯郸网站设计应搜韦欣cidun8上词
  • python 网站开发小项目南京企业建网站流程
  • 企业网网站怎么做烟台网站制作培训
  • 专注与开发网站的北京网络公司番禺人才网官网
  • 摄影网站建设的意义网站营销推广策划书
  • 北京中高端网站建设公司今天的新闻内容50字
  • 网站与平台的区别在谷歌上做英文网站
  • 微友说是做网站维护让帮忙投注龙岗区
  • 有空间与域名 怎么做网站做网站买二手域名
  • 集团公司网站模板wordpress置顶浮标
  • 登录浏览器是建设银行移动门户网站vr网站开发
  • 全能网站建设完全自学手册施工企业工作环境
  • 石家庄电商网站排名企业网站管理系统手机版教程
  • 怎么做公司的官方网站wordpress宽屏插件
  • 苏州吴中长桥网站建设线下营销方式主要有哪些
  • 徐州网站快速优化排名WordPress建站 seo
  • 权威迷失传奇新开网站深入浅出wordpress 中文
  • seo网站建设流程seo优化排名易下拉用法
  • 网站开发前端就业前景有名做网站公司
  • 长沙网站推广排名中企动力科技股份有限公司佛山分公司
  • 北理工网站开发与应用答案厦门微信网站建