Leetcode PHP题解--D58 693. Binary Number with Alternating Bits

栏目: PHP · 发布时间: 7年前

内容简介:给定一个数字,返回其二进制形式中,0和1是否交替出现。判断给定的数字是否为奇数。

D58 693. Binary Number with Alternating Bits

题目链接

693. Binary Number with Alternating Bits

题目分析

给定一个数字,返回其二进制形式中,0和1是否交替出现。

思路

判断给定的数字是否为奇数。

若为奇数,那么最低位(即最右)会为1,那么会重复出现01串。

若为偶数,最低位为0,那么只能重复出现10串。

根据以上规则创建长度为给定数字二进制长度一半的01串,并转换为十进制。

判断转换后的数字是否等于给定的字符。

最终代码

<?php
class Solution {

    /**
     * @param Integer $n
     * @return Boolean
     */
    function hasAlternatingBits($n) {
        $match = str_repeat($n%2==0?'10':'01',ceil(count(str_split(decbin($n)))/2));
        return bindec($match) == $n;
    }
}

若觉得本文章对你有用,欢迎用 爱发电 资助。


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

CSS3专业网页开发指南

CSS3专业网页开发指南

Peter Gasston / 李景媛、吴晓嘉 / 人民邮电出版社 / 2014-3-1 / 45.00元

《CSS3专业网页开发指南》是英国著名Web前端开发工程师Peter Gasston对CSS3高级技术的全面介绍。书中既有CSS3的发展历史、基本语法等入门知识介绍,也涵盖了媒体查询、选择器、伪类与伪元素、网页字体、文本排版、图形处理、动画、布局等CSS3前端开发必不可少的知识,还介绍了CSS3的未来发展方向。全书共分为17章,作者在每一章的讲解中都结合了大量的实例,同时也不忘介绍每一项技术的发展......一起来看看 《CSS3专业网页开发指南》 这本书的介绍吧!

HTML 压缩/解压工具
HTML 压缩/解压工具

在线压缩/解压 HTML 代码

Base64 编码/解码
Base64 编码/解码

Base64 编码/解码

RGB HSV 转换
RGB HSV 转换

RGB HSV 互转工具