Таким образом, диапазон, который вы определяете (0..9
), на самом деле уже является последовательностью чисел. Вместо того, чтобы повторять и повторно генерировать новое случайное число, вы можете просто использовать подмножество этой последовательности. На самом деле, - это принятое решение для ответа на вопрос, который вы связали . Вот несколько советов, если вы хотите реализовать это самостоятельно, чтобы получить практику:
Первые for
l oop в этом решении не нужны в Kotlin из-за диапазона , 0..9
делает то же самое, вы на правильном пути.
В Kotlin вы можете позвонить .shuffled()
прямо в диапазоне без необходимости звонить Collections.shuffle()
с аргументом, как они делают.
Вы можете избежать другого l oop, если создадите строку из всего диапазона, а затем вернете подстроку.
Если вы хотите посмотреть на моё решение (с комментариями других пользователей), оно здесь в спойлере:
(Обратите внимание, что это не изящно обрабатывает длину выше 10, но это зависит от вас, чтобы выяснить, как реализовать. Вы должны использовать subList()
и затем toString()
, или toString()
, а затем substring()
, вывод должен быть таким же.)