Выбор ответа Junior Задачи на Kotlin спрашивают часто обновлено
Быстрый ввод в Kotlin для контеста
Вопрос
Нужно прочитать 200 000 чисел из одной строки. Какой способ надёжнее и быстрее всего?
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Правильный ответ: BufferedReader и StringTokenizer. BufferedReader читает большими кусками, а StringTokenizer режет строку без регулярных выражений и терпит двойные пробелы.
Варианты ответа
readln().split(" ").map { it.toInt() }Scanner(System.in).nextInt()в циклеBufferedReaderиStringTokenizerправильный ответreadLine()!!.toCharArray()и ручной разбор каждой цифры вString
Разбор
BufferedReader читает большими кусками, а StringTokenizer режет строку без регулярных выражений и терпит двойные пробелы. Scanner использует регулярки и заметно медленнее на больших вводах. split(" ").map работает, но создаёт список строк и падает на двойном пробеле (toInt от пустой строки). Ручной разбор быстр, но сложен и не нужен.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.