美文网首页
693. 交替位二进制数

693. 交替位二进制数

作者: sixkery | 来源:发表于2018-10-19 12:05 被阅读59次

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

示例 1:

输入: 5
输出: True
解释:
5的二进制数是: 101
示例 2:

输入: 7
输出: False
解释:
7的二进制数是: 111
示例 3:

输入: 11
输出: False
解释:
11的二进制数是: 1011
示例 4:

输入: 10
输出: True
解释:
10的二进制数是: 1010

解答:判断二进制相邻的两个数是否相等。

class Solution(object):
    def hasAlternatingBits(self, n):
        """
        :type n: int
        :rtype: bool
        """
        a = bin(n)[2:]
        for i in range(len(a) - 1):
            if int(a[i]) ^ int(a[i + 1]) == 0:
                return False
        return True

看到一个骨骼清奇的代码:

class Solution(object):
    def hasAlternatingBits(self, n):
        """
        :type n: int
        :rtype: bool
        """
        a = bin(n)
        if '00' in a or '11' in a:
            return False
        return True

人家这思路,不容易想到呀!

相关文章

  • 2018-07-14

    693. 交替位二进制数 题目描述 给定一个正整数,检查他是否为交替位二进制数:换句话说,就是他的二进制数相邻的两...

  • 693. 交替位二进制数

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

  • 2019-02-08 Day 34

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

  • 693-交替位二进制数

    因为是正整数,所以每次将数字右移一位,比较本次和上次右边第一位数字是否相同即可。

  • 693. Binary Number with Alternat

    693. Binary Number with Alternating Bits [思路]:查看一个整数的二进制是...

  • Linux C 编程详解第二篇:数据类型 变量 内存分区

    八进制 与 二进制 位八进制数 对应 三位二进制数 十六进制 与 二进制 一位十六进制数 对应 四位二进制数 ...

  • 2-数据类型_变量_内存分区

    八进制 与 二进制 一位八进制数 对应 三位二进制数 十六进制 与 二进制 一位十六进制数 对应 四位二进制数...

  • 47.LeetCode693. 交替位二进制数

    标签: 位运算 难度: 简单 题目描述 我的解法 将整数 n 用 bin() 转化成二进制字符串,再从高位开始...

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

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

  • 命题—第一章—填空

    将二进制数 010110101.00111101 转化为八进制数为_______? 【解析】 三位二进制数...

网友评论

      本文标题:693. 交替位二进制数

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