Вступить в клуб →
средняявопросKotlin: классы, коллекции и идиомы

Поиск первой доступной цены вызывает расчёт миллион раз

val ids = (1..1_000_000).toList()
val firstPrice = ids
    .map { calculatePrice(it) }
    .first { it > 0 }

У самого первого товара цена положительная. Сколько раз вызовется calculatePrice?

  • 1 000 000 раз: map обходит весь список
  • Один раз: first останавливает всю цепочку
  • Два раза: один для map и один для first
  • Зависит от оптимизаций компилятора

🔒 Проверка ответа — для участников клуба

  • Проверка ответа
  • Подсказка, если застряли
  • Разбор с объяснением, почему так
  • Прогресс по всем задачам и виртуальные собеседования
Зарегистрироваться →

Регистрация занимает минуту

Другие задачи раздела