Сложность: easy
Задав целочисленный массив nums, найдите три числа, произведение которых максимально, и верните максимальное произведение.
Пример:
Input: nums = [1,2,3]
Output: 6
👨💻 Алгоритм:
1⃣Отсортируйте массив nums.
2⃣Найдите два возможных максимальных произведения: Произведение трех наибольших элементов массива. Произведение двух наименьших (отрицательных) и одного наибольшего элемента массива.
3⃣Верните максимальное из двух найденных произведений.
😎 Решение:
func maximumProduct(_ nums: [Int]) -> Int {
let nums = nums.sorted()
let n = nums.count
let max1 = nums[n - 1] * nums[n - 2] * nums[n - 3]
let max2 = nums[0] * nums[1] * nums[n - 1]
return max(max1, max2)
}Ставь 👍 и забирай 📚 Базу знаний