美文网首页算法艺术
算法题:leetcode 693 交替位二进制数

算法题:leetcode 693 交替位二进制数

作者: 伊凡vnir | 来源:发表于2018-11-01 22:10 被阅读0次

    /来源:本人微信公众号:豫见成电
    我会连载推送一些关于C语言,网络空间安全,数学建模,算法方面的学习经历,还有一些成电生活,欢迎大家关注。/

    题目描述:

    给定一个正整数,检查他是否为交替位二进制数:换句话说,就是他的二进制数相邻的两个位数永不相等。

    示例 1:

    输入: 5

    输出: True

    解释:

    5的二进制数是: 101

    示例 2:

    输入: 7

    输出: False

    解释:

    7的二进制数是: 111

    示例 3:

    输入: 11

    输出: False

    解释:

    11的二进制数是: 1011

    示例 4:

    输入: 10

    输出: True

    解释:

    10的二进制数是: 1010

    解题思路:

    分析题目,其实为分析其二进制数的特性,则在将其转化为二进制数的时候比较前后两位即可。

    代码实现(C++):

    image

    实现分析:

    实现算法复杂度为O(log(n))。

    相关文章

      网友评论

        本文标题:算法题:leetcode 693 交替位二进制数

        本文链接:https://www.haomeiwen.com/subject/vdufxqtx.html