Вопрос №6338 от пользователя user-6f68bfce3eef2f8a в испытании «Список диапазонов»

user-6f68bfce3eef2f8a

Не нописаю, где ошибка. Тесты:> 1) App\SolutionTest::testSummaryRanges with data set #1 (array('1->3'), array(1, 2, 3)) Failed asserting that two arrays are equal. --- Expected +++ Actual @@ @@ Array (

  • 0 => '1->3' )

Код:

function summaryRanges(array $arr){
$result=array();
$start=false;
$lastcheck=false;

  for ($i=0;$i<sizeof($arr)-1;$i++){
      if (($arr[$i]+1==$arr[$i+1])&&($start==false)){
            $first=$arr[$i];
            $start=true;
      };
      if (($arr[$i]+1!=$arr[$i+1])&&($start==true)){
            $last=$arr[$i];
            $start=false;
            $lastcheck=true;
      };
      if ($lastcheck==true){
        $lastcheck=false;
        $result[]="$first->$last";

      };
  }
  return $result;
}
1 0

Александр О.

  1. Некорректно заданное условие в конструкции for - обходятся не все элементы массива.
  2. Проверки у Вас задаются таким образом, что при достижении последнего элемента массива будут возникать ошибки выхода за границы массива (при обращении по несуществующему индексу (значение которого больше максимального)).
0

Используйте Хекслет по максимуму!

  • Задавайте вопросы по уроку
  • Проверяйте знания в квизах
  • Проходите практику прямо в браузере
  • Отслеживайте свой прогресс

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

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

Рекомендуемые программы

С нуля до разработчика. Возвращаем деньги, если не удалось найти работу.

Иконка программы Фронтенд-разработчик
Профессия
Разработка фронтенд-компонентов веб-приложений
7 июля 10 месяцев
Иконка программы Python-разработчик
Профессия
Разработка веб-приложений на Django
7 июля 10 месяцев
Иконка программы PHP-разработчик
Профессия
Разработка веб-приложений на Laravel
7 июля 10 месяцев
Иконка программы Node.js-разработчик
Профессия
Разработка бэкенд-компонентов веб-приложений
7 июля 10 месяцев
Иконка программы Fullstack-разработчик
Профессия
Новый
Разработка фронтенд и бэкенд компонентов веб-приложений
7 июля 16 месяцев
Иконка программы Верстальщик
Профессия
Вёрстка с использованием последних стандартов CSS
в любое время 5 месяцев
Иконка программы Java-разработчик
Профессия
Разработка приложений на языке Java
7 июля 10 месяцев
Иконка программы Разработчик на Ruby on Rails
Профессия
Создает веб-приложения со скоростью света
7 июля 5 месяцев