Илья Токарев

Тест не учитывает "Если количество единиц одинаково, то сортируем на основе десятичного представления." У меня прошел код вообще без этого условия. Почему не работает с usort - возвращает 1?

function sortByBinary ($collection)  {
    return fsort($collection, function ($x, $y) {
     $x1 = substr_count(decbin($x), "1");
     $y1 = substr_count(decbin($y), "1");
     if($x1 == $y1) {
         return $x - $y;
     }
     elseif ($x1 > $y1) {
         return 1;
     }
     else {
         return -1;
     }
    });

}
1 0

Kirill Mokevnin

usort не возвращает новую коллекцию, эта функция изменяет переданную коллекию инплейс.

0

Есть вопрос или хотите участвовать в обсуждении?

Зарегистрируйтесь или войдите в свой аккаунт

Нажимая кнопку «Зарегистрироваться», вы даёте своё согласие на обработку персональных данных в соответствии с «Политикой конфиденциальности» и соглашаетесь с «Условиями оказания услуг».

Похожие вопросы

Maxim Korobov 02 апреля 2019 →

Здравствуйте! Хотел спросить для лучшего понимания вопроса - почему в решении учителя столько условий? Напр...

Валентин Иванов 26 марта 2019 →

Что-то мое решение слишком короткое получилось. https://ru.hexlet.io/code_reviews/100027 Не понял, почему в...

Евгений Илюхин 19 сентября 2017 →

Добрый день! Сортировка по количеству единиц в двоичном, затем по десятичному виду. При проверке: а) даетс...

Михаил Чудинов 26 июля 2017 →

Написал, вручную при тестировании получаю результат соответствующий из readme и примерам в тестах. При нажа...

Юрий Быков 26 апреля 2017 →

Помнится, в одном из видео Кирилла по ментальному программированию, говорилось, что использование флага для...