Ссылка на Заголовок
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-й элемент из каждой группы для участия в вычислении.
Окончательный код
Если вы считаете, что эта статья полезна для вас, вы можете воспользоваться Фондом генерации энергии Ии.