Рубрики
Uncategorized

Решение для PHP с кодом Leetcode — d58 693. Двоичное число с альтернативными битами

Автор оригинала: David Wong.

Ссылка на Заголовок

693. Двоичное число с чередующимися битами

Анализ названия

Заданное число возвращает, отображаются ли 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;
    }
}

Если вы считаете, что эта статья полезна для вас, вы можете воспользоваться поддержкой генерации энергии ИИ.