Menu
Coddy logo textTech

Создание множеств

Часть раздела Логика и управление потоком путешествия по Kotlin на Coddy. Урок 11 из 63.

Множество хранит уникальные элементы. setOf создаёт множество, доступное только для чтения; преобразование списка с помощью toSet удаляет повторяющиеся значения. У множества есть проверка принадлежности, но нет позиционной индексации. Отсортируйте множество перед формированием упорядоченного вывода.

Внутри main:

val ids = setOf(4, 2, 4, 7)
println(ids.size)

Повторяющаяся четвёрка встречается только один раз, поэтому остаются три различных значения.

Множество хранит уникальные значения; оно не предоставляет индексированный доступ в стиле списка.

challenge icon

Задание

Средне

Дополните distinctCount с параметром items: List<Int>. Верните количество различных целых чисел.

Если выше не указаны более строгие ограничения, коллекции содержат не более 100 элементов на каждом уровне, а целочисленные аргументы и целочисленные значения коллекций находятся в диапазоне от -1000 до 1000. Текст, предоставленный для разбора, может содержать недопустимые представления или представления, выходящие за допустимый диапазон, как описано.

Верните значение типа Int. Сохраните предоставленный код ввода/вывода. Он считывает скалярные аргументы по одному в строке; список начинается с его количества элементов, за которым следуют его элементы, а карта начинается с количества записей, за которым следуют каждый ключ и значение. Вложенные списки повторяют формат «количество и элементы» для каждой строки. Предоставленный main выводит возвращаемое значение, за которым следует один перевод строки. Списки используют стандартный формат Kotlin со скобками; не выводите дополнительные метки.

Попробуйте сами

fun distinctCount(items: List<Int>): Int {
    // Напишите ваше решение здесь.
    return 0
}
fun main() {
    val itemsCount = readln().toInt()
    val items = mutableListOf<Int>()
    for (i0 in 0 until itemsCount) {
        val itemsItem = readln().toInt()
        items.add(itemsItem)
    }
    println(distinctCount(items))
}
quiz iconПроверьте себя

В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.

Все уроки раздела Логика и управление потоком

Потренируйтесь самостоятельно: Песочница Kotlin