Какой результат будет выведен в примере №22

Программа напечатает 6: Set оставляет уникальные значения 1, 2 и 3, а reduce складывает их с начальным нулём.

Короткий ответ

Что ответить на собеседовании

Программа напечатает 6: Set оставляет уникальные значения 1, 2 и 3, а reduce складывает их с начальным нулём.

Подробный разбор

Ответ с пояснениями

Условие

В этом примере мы создаём множество из заданных чисел, где дубли удаляются автоматически, а затем суммируем все уникальные элементы множества. Что будет напечатано?

let sumResult = Set(arrayLiteral: 1, 2, 3, 3, 2, 1).reduce(0, +)
print(sumResult)

Ответ

Программа напечатает 6: Set оставляет уникальные значения 1, 2 и 3, а reduce складывает их с начальным нулём.

Повторы 3, 2 и 1 не создают дополнительных элементов множества. Порядок обхода Set не гарантирован, но здесь он не влияет на сумму трёх небольших целых чисел: 1 + 2 + 3 = 6. Если бы использовался Array с тем же набором литералов, повторы сохранились бы и сумма была бы 12.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее