Сумма массива вычисляется одним проходом с накопителем. Для пяти чисел количество операций фиксировано, а для массива произвольной длины время O(n).
Подсчёт общей суммы элементов списка
Сумма массива вычисляется одним проходом с накопителем. Для пяти чисел количество операций фиксировано, а для массива произвольной длины время O(n).
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Условие
Дан массив, состоящий из пяти чисел. Требуется вывести сумму всех элементов массива.
Ответ
Сумма массива вычисляется одним проходом с накопителем. Для пяти чисел количество операций фиксировано, а для массива произвольной длины время O(n).
fun sumFive(numbers: IntArray): Long {
require(numbers.size == 5)
return numbers.sumOf { it.toLong() }
}
Long вместо Int позволяет безопасно сложить пять любых Int без переполнения. Числовой результат нельзя назвать без самих элементов: в условии приведено только их количество. Для дробных значений отдельно выбирают тип и требования к точности.