Задачи по программированию на Kotlin

Задачи, которые можно решить на Kotlin (всего: 225): от первых циклов до графов, динамического программирования и машинного обучения. Пишите код в браузере, сразу запускайте тесты и получайте разбор от ИИ.

Легко · 134 Средне · 67 Сложно · 24

Навыки для практики: ПодсчётВыделение цифрРазбиение строкАрифметикаДвумерные спискиСпискиФормулыЦиклыВложенные циклыГрадиентный спускДва указателяДелимость
  • Python · C++ · C#
  • Автотесты
  • Ревью кода ИИ
  • Решения сообщества
226
Задачи
123
Решений опубликовано
9
Языки

Все задачи

Поиск по теме, языку или сложности.

225 задачи
Легко

Предсказание логистической регрессией

Классифицируйте примеры как 0 или 1, пропуская взвешенную сумму через сигмоиду и сравнивая с порогом.

Вы освоите Логистическая регрессияПороги
искусственный интеллектмашинное обучение
Пока нет решений
Средне

Слияния Byte Pair Encoding (BPE)

Выучите слияния подслов, как токенизаторы GPT: многократно объединяйте самую частую пару соседних символов.

Вы освоите BPEПодсловная токенизация
искусственный интеллектмашинное обучение
Пока нет решений
Средне

Порядок завершения параллельных задач

Запустите задачи одновременно, не более чем по k за раз, и сообщите порядок, в котором они завершаются.

Вы освоите ПараллелизмОчереди с приоритетом
SimulationSorting
Пока нет решений
Легко

One-hot кодирование

Превратите категории в векторы с единственной 1 — формат входных данных для классификаторов и эмбеддингов.

Вы освоите One-hot векторыКатегориальные данные
искусственный интеллектмашинное обучение
Пока нет решений
Легко

Соединение клиентов и заказов

Соедините клиентов с их заказами, как в LINQ Join, и выведите общую сумму покупок каждого.

Вы освоите LINQ JoinГруппировка
ArraysSorting
Пока нет решений
Легко

Операции со связным списком

Смоделируйте связный список: добавление с обоих концов, удаление из начала или по значению и разворот.

Вы освоите Связные спискиМоделирование
Data-structuresSimulation
Пока нет решений
Легко

Подписчики событий

Доставляйте события подписчикам каждой темы в стиле observer и посчитайте, сколько получил каждый.

Вы освоите Паттерн ObserverСловари
Шаблоны проектированияSimulationStrings
Пока нет решений
Легко

Декораторы цены

Оберните базовую цену в декораторы скидки, налога, доставки и купона, применяемые по порядку.

Вы освоите Паттерн DecoratorПроценты
Шаблоны проектированияSimulationmath
Пока нет решений
Легко

Сортировка по выбранному ключу

Отсортируйте людей по имени или возрасту компаратором, выбранным во время выполнения, одинаково разрешая равенства.

Вы освоите КомпараторыСортировка
ArraysSorting
Пока нет решений
Средне

Стек с минимумом

Постройте стек, который мгновенно сообщает свой наименьший элемент после любого push или pop.

Вы освоите СтекиТекущий минимум
Data-structuresStacks
Пока нет решений
Легко

Стоимость уведомлений

Отправьте сообщения через email, SMS и push, где каждый канал сам считает стоимость.

Вы освоите ПолиморфизмЦелочисленное деление
SimulationStrings
Пока нет решений
Легко

Фасад оформления заказа

Скрыть проверки наличия и подсчёт цены за одной простой командой оформления заказа.

Вы освоите Паттерн FacadeПроверка
ArraysШаблоны проектированияSimulation
Пока нет решений
Легко

Одна общая конфигурация

Смоделировать объект настроек в стиле singleton: каждая часть программы читает и записывает один и тот же экземпляр.

Вы освоите SingletonОбщее состояние
BeginnerШаблоны проектированияSimulation
Пока нет решений
Легко

Общее время с WhenAll

Определите, сколько времени занимает программа, когда каждая группа задач выполняется вместе с Task.WhenAll, а группы идут одна за другой.

Вы освоите Async/awaitTask.WhenAll
ArraysBeginner
Пока нет решений
Легко

Оформление счёта

Выведите строки счёта и итог: суммы хранятся в центах, а показываются в долларах и центах.

Вы освоите Деньги в центахФорматирование строк
BeginnerStrings
Пока нет решений
Легко

Уникальные записи

Удалите дубликаты записей, равные по значению, сохранив первую из каждой в порядке появления.

Вы освоите Записи (record)Равенство по значению
BeginnerStrings
Пока нет решений
Легко

Правила банковского счёта

Защитите баланс счёта с помощью правил пополнения и снятия, отклоняя недопустимые операции.

Вы освоите ИнкапсуляцияБизнес-правила
BeginnerSimulation
Пока нет решений
Легко

Разбить список на части

Разрезать список на последовательные группы фиксированного размера, при необходимости с более короткой последней группой.

Вы освоите СрезыПакетная обработка
ArraysBeginner
Пока нет решений