Задачи
November 14, 2022
Задача. Треугольник с наибольшим периметром
Дан массив натуральных чисел nums, размер массива от 3 до 10^4. Необходимо вернуть наибольший периметр треугольника (> 0), образованный из трех таких длин. Если это невозможно, верните 0.
Разбор
Вспоминаем школьный курс геометрии. Чтобы получить треугольник, необходимо, чтобы сумма любых двух сторон была больше длины третьей. В нашей задаче необходимо найти треугольник с наибольшим периметром, поэтому отсортируем исходный массив для удобства поиска.
Далее запустим цикл по тройкам элементов с конца и будем искать первую тройку, которая удовлетворяет условию (a + b) > c, в противном случае вернем 0.
Детали реализации смотрите ниже.