Verification: a143cc29221c9be0

Php array разбить на части

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

561. Раздел I массива

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

Этот вопрос дает массив, требующий, чтобы массив был разделен на n пар только из двух элементов. Сделайте сумму наименьшего числа в каждой паре чисел наибольшей.

размышляющий

Во-первых, нам нужно соединить компоненты в две пары. используйте array_chunk Да.

Во-вторых, нам нужно взять наименьшее число в каждой паре чисел для суммирования. Потому что нам нужно, чтобы конечная сумма была наибольшей, но наименьшей в каждом наборе чисел. Поэтому, чтобы свести к минимуму разницу между наибольшим числом и наименьшим массивом в каждой группе, «потери» могут быть сведены к минимуму.

Например, [1,2,7,8]

Если разделить на [[1,8],[2,7]] или [[1,7],[2,8]] Две группы, затем каждая группа получит самую маленькую. [1,2] . Сумма равна 3. Когда большие числа и меньшие числа образуют пару, большие числа нельзя использовать для суммирования (потому что название занимает наименьшее число в каждой группе). При разделении на [[1,2],[7,8]] Когда две группы будут выбраны как самые маленькие, они получат результаты. [1,7] . Сумма равна 8, больше 3.

Поэтому массив сначала сортируется, а затем группируется в две или две группы, чтобы получить 0-й элемент из каждой группы для участия в вычислении.

Чему вы научитесь:

  • Определять массивы в коде и манипулировать ими
  • Формировать и обрабатывать массивы в циклах
  • Применять базовые алгоритмы и оценивать их сложность
  • Использовать spread-оператор и деструктуризацию

синтаксис вложенные массивы алгоритмическая сложность сортировка теория множеств стек

Последнее обновление: 03 августа 2021

Уроки курса

  • О курсе

    Узнать о курсе, его структуре, задачах и целях.

  • Синтаксис

    Изучить синтаксис для работы с массивами

  • Цикл for

    Научиться применять цикл for для массивов

  • Вложенные массивы

    Познакомиться с синтаксисом создания и обновления вложенных массивов

  • Ссылки

    Научиться использовать массивы по ссылке

  • Стек

    Познакомиться с АТД "Стек"

  • Big O

    Познакомиться с оценкой сложности алгоритмов

  • Spread-оператор

    Научиться применять spread-оператор (оператор "расширения") для массивов.