Задачи на алгоритмы по спискам и словарям
Подборка из популярных задач на алгоритмы по работе со списками и словарями для live-coding собеседований Python-разработчиков. Распаковка вложенных списков, поиск слагаемых, поиск среднего арифметического, циклический сдвиг массива, разбиение на чанки, поиск уникальных элементов и многое другое.
Среднее арифметическое
Напишите функцию, которая находит и возвращает среднее арифметическое списка чисел
65Не решеноНе решено-Разбить список на чанки
Напишите функцию, которая принимает на вход список и число, задающее размер чанка и возвращает список из чанков указанной длины
43Не решеноНе решено-Посадить цветы
Напишите функцию, которая проверит, можно ли посадить заданное количество цветов на грядке
33Не решеноНе решено-Наибольший общий префикс
Напишите функцию, которая найдет самый большой общий префикс для массива строк
41Не решеноНе решено-Уникальность элементов
Напишите функцию, которая проверяет, содержит ли список только уникальные элементы
72Не решеноНе решено-Сумма элементов списка
Напишите функцию, которая принимает список чисел и возвращает сумму всех элементов
183Не решеноНе решено-Параметры запроса
Напишите функцию, преобразующую словарь параметров запроса в готовую строку
67Не решеноНе решено-Найти слагаемые в массиве
Напишите функцию, которая находит в массиве два числа, сумма которых равна N
30Не решеноНе решено-Найти НОД для списка чисел
Напишите функцию, которая принимает список натуральных чисел и вычисляет НОД для него
3Не решеноНе решено-Минимальное произведение
Найдите в массиве целых чисел минимально возможное значение перемножения двух из них
5Не решеноНе решено-Уникальные имена
Напишите функцию, которая генерирует уникальные имена пользователей на основе заданного списка имен и фамилий
24Не решеноНе решено-Изменить форму матрицы
Напишите функцию, которая изменит количество строк и столбцов матрицы с сохранением числа элементов
15Не решеноНе решено-Разбиение массива
Напишите функцию, которая разобьет массив чисел на пары так, чтобы получить максимальную сумму
26Не решеноНе решено-Слово с наибольшими баллами
Напишите функцию, которая принимает список слов и возвращает слово с наибольшими баллами
19Не решеноНе решено-Сортировка по гематрии
Напишите функцию, осуществляющую сортировку данного списка слов по гематрии
18Не решеноНе решено-Латинский квадрат
Напишите функцию, которая принимает матрицу и определяет, является ли она латинским квадратом
18Не решеноНе решено-Кольцевая поездка
Напишите функцию, которая определит, с какой станции следует начинать поездку, чтобы хватило топлива
9Не решеноНе решено-Возрастающая последовательность
Напишите функцию, которая принимает список чисел и находит самую длинную возрастающую последовательность
15Не решеноНе решено-Объединить интервалы
Напишите функцию, которая определит, какие интервалы пересекаются и объединит их
13Не решеноНе решено-Прыжки
Напишите функцию, которая определит, может ли игрок достигнуть последней позиции массива
11Не решеноНе решено-Раздать конфеты
Напишите функцию, которая вычислит, сколько конфет нужно раздать, чтобы выполнить правила
2Не решеноНе решено-Сортировка IP адресов
Напишите функцию, принимающую массив IPv4 адресов и возвращающую его в отсортированном виде
10Не решеноНе решено-Спортивные места
Напишите функцию, которая вернет названия мест, занятых спортсменами в зависимости от набранных очков
15Не решеноНе решено-Ядовитая атака
Напишите функцию для игры, которая посчитает сколько времени герой находится под атакой противника
16Не решеноНе решено-Наибольшая последовательность
Напишите функцию, которая находит самую длинную подпоследовательность с уникальными элементами в списке
9Не решеноНе решено-Циклический сдвиг массива
Напишите функцию, осуществляющую циклический сдвиг массива и возвращающую его
12Не решеноНе решено-Строка треугольника Паскаля
Напишите функцию, которая принимает на вход номер строки треугольника Паскаля и возвращает эту строку
11Не решеноНе решено-Объединение словарей
Напишите функцию, объединяющую два словаря с суммированием значений одинаковых ключей
15Не решеноНе решено-Список адресов Email
Напишите функцию, преобразующую словарь email-адресов в отсортированный список
12Не решеноНе решено-Заполнение матрицы по спирали
Напишите функцию, которая создает двухмерную матрицу и заполняет ее по спирали от 1 до n*m
10Не решеноНе решено-Самопересечение линии
Напишите функцию, которая проверяет, пересекает ли заданная ломаная линия сама себя
4Не решеноНе решено-Распаковка вложенных списков
Напишите функцию, преобразующую вложенный список неопределенной глубины в плоский
16Не решеноНе решено-Определение магического квадрата
Напишите функцию, которая определяет, является ли матрица магическим квадратом
12Не решеноНе решено-Кратчайший путь в матрице
Напишите функцию, которая находит кратчайший путь от верхнего левого до нижнего правого угла матрицы
7Не решеноНе решено-Распределение пирожков
Напишите функцию, которая распределит пирожки между едоками и вернет количество полностью удовлетворенных едоков
10Не решеноНе решено-Игра в подземелье
Напишите функцию, которая определит минимальный уровень здоровья героя, необходимый для победы
5Не решеноНе решено-Силуэт города
Напишите функцию, которая определит координаты ключевых точек, описывающих силуэт города
2Не решеноНе решено-Решатель Судоку
Напишите функцию для заполнения матрицы судоку верными числовыми значениями
5Не решеноНе решено-