1. Merge Sorted Array
Необходимо объединить два отсортированных массива `nums1` и `nums2` в один отсортированный массив, расположенный внутри массива `nums1`. Входные параметры: * `nums1`: Массив целых чисел, представля...
Тренажер по решению задач Python с ИИ-помощником
Необходимо объединить два отсортированных массива `nums1` и `nums2` в один отсортированный массив, расположенный внутри массива `nums1`. Входные параметры: * `nums1`: Массив целых чисел, представля...
Необходимо разработать функцию, которая складывает два заданных числа и возвращает результат сложения. Входные данные: * `a`: Целое число (int) – первое число для сложения. * `b`: Целое число (in...
Задача заключается в удалении всех элементов из массива `nums`, равных заданному значению `val`. В результате нужно изменить массив `nums` "in-place", то есть изменить его непосредственно, и вернуть ...
Найти наибольшее число в заданном списке целых чисел. Входные данные: `numbers`: Список (`list`) целых чисел. Выходные данные: Максимальное значение из списка `numbers`. Если список пуст, возвращает...
Задача заключается в том, чтобы преобразовать отсортированный массив таким образом, чтобы сохранить только уникальные элементы и вернуть длину этого массива с уникальными элементами. Входные данные: ...
Необходимо изменить массив, содержащий отсортированные целые числа, так чтобы в результирующем массиве не было повторяющихся элементов, но каждый элемент мог встречаться не более двух раз. Входные да...
Найти в массиве чисел элемент, который встречается более чем у половины всех элементов массива. Входные данные: `nums`: Список (list) целых чисел. Выходные данные: Целое число, представляющее больши...
Необходимо реализовать функцию, которая циклически сдвигает элементы массива `nums` вправо на `k` позиций. Входные данные: * `nums`: Массив целых чисел (список). * `k`: Целое число, представляюще...
Задача заключается в определении максимальной прибыли, которую можно получить от покупки и продажи акций по заданному списку цен. Входные данные: `prices`: Список ценовых значений акций (int), где ка...
Необходимо определить максимальную прибыль, которую можно получить от совершения нескольких сделок с покупкой и продажей акций. При этом можно покупать и продавать акцию несколько раз. Входные данны...
Задача заключается в определении, возможно ли достичь последнего элемента массива прыжками заданной длины. Входные данные: * `nums`: Список целых чисел, представляющих длину прыжка из каждой позици...
Необходимо определить минимальное количество прыжков, чтобы достичь последнего элемента массива `nums`. Входные данные: `nums`: Список целых чисел, представляющих длины каждого прыжка из данной пози...
Необходимо вычислить h-индекс исследователя, который представляет собой максимальное количество публикаций, имеющих хотя бы такое же количество цитирований. На вход подается список `citations` (списо...
Необходимо реализовать структуру данных `RandomizedSet`, которая поддерживает операции добавления (`insert`), удаления (`remove`) и получения случайного элемента (`getRandom`) с гарантированной сложно...
Необходимо реализовать функцию, которая для данного массива целых чисел `nums` создает новый массив, где каждый элемент представляет собой произведение всех элементов исходного массива `nums`, кроме с...
Необходимо определить, возможно ли построить круговой маршрут по заправкам, используя заданное количество бензина и затраты на прохождение каждого участка пути. Входные данные: * `gas`: Список цел...
Необходимо распределить заданное количество конфет между детьми, чтобы минимизировать общее количество раздатваемых конфет. Каждому ребенку должна быть дана хотя бы одна конфета. Входные данные: `ra...
Задача: Вычислите объем воды, который может быть заперт между высотами столбиков, представленных в виде массива. Входные данные: `height`: Список (или массив) целых чисел, представляющих высоту каждо...
Преобразовать заданное римское число (строку) в его эквивалентное целое числовое представление. Входные данные: `s`: Строка, представляющая римское число, состоящая из символов 'I', 'V', 'X', 'L', 'C...
Преобразовать заданное целое число в его эквивалент в римской цифре. Входные данные: `num` - Целое число (int) от 1 до 3999 включительно. Выходные данные: Строка (str), представляющая собой римское ...
Необходимо определить длину последнего слова в данной строке текста. На вход подается строка `s` (string) – это исходный текст, содержащий одно или несколько слов, разделенных пробелами. Функция до...
Необходимо найти самый длинный префикс, который является общим для всех входных строк. Входные данные: `strs`: Список строк (List[str]), представляющих собой массив строк. Выходные данные: Строка (s...
Необходимо написать функцию, которая переворачивает порядок слов в заданной строке. Входные данные: `s`: Строка (string), содержащая одну или несколько слов, разделенных пробелами. Выходные данные: ...
Необходимо преобразовать заданную строку в зигзагообразный паттерн, где символы располагаются по строкам, чередуя направления движения. Входные данные: * `s`: Строка (string) для преобразования. * ...
Напишите функцию, которая ищет первое вхождение заданной подстроки (needle) в строке (haystack). Входные данные: * `haystack`: Строка, в которой производится поиск. * `needle`: Подстрока, которую...
Необходимо реализовать функцию, которая выравнивает заданный текст по фиксированной ширине, разбивая его на строки. Каждая строка должна содержать максимальное количество слов, чтобы общая ширина текс...
Необходимо проверить, является ли данная строка палиндромом. Строка считается палиндромом, если она читается одинаково слева направо и справа налево, игнорируя регистр символов и не являющиеся буквами...
Необходимо определить, является ли строка `s` подпоследовательностью строки `t`. Входные данные: * `s`: Строка (string) - потенциальная подпоследовательность. * `t`: Строка (string) - строка, в ...
Необходимо найти два числа в отсортированном массиве, сумма которых равна заданному целевому значению `target`. Входные данные: `numbers`: Отсортированный массив целых чисел. `target`: Целое число, п...
Необходимо найти максимальную площадь, которую можно вместить в контейнер, образованный двумя вертикальными стенок высотой, заданными массивом чисел. Входные данные: * `height`: Список (или массив)...
Необходимо найти все уникальные тройки чисел (три разных числа) из заданного массива, сумма которых равна нулю. Входные данные: * `nums`: Список целых чисел (`list[int]`). Выходные данные: * Спи...
Необходимо найти минимальную длину подмассива исходного массива `nums`, сумма элементов которого больше или равна заданному значению `target`. Входные данные: * `nums`: Список целых чисел. * `tar...
Необходимо реализовать функцию, которая принимает список ребер графа и создает его представление в виде списка смежности. Входные данные: * `edges`: Список кортежей, где каждый кортеж представляет ...
Создайте асинхронный HTTP сервер с использованием библиотеки `aiohttp`. Сервер должен обрабатывать GET-запросы по корневому пути `/` и возвращать ответ "ok". Входные данные: Нет входных данных для фу...
Необходимо проверить, является ли данная строка палиндромом. Палиндром – это строка, которая при переворачивании остается неизменной (игнорируя пробелы и регистр букв). Входные данные: `s`: Строка (s...
Необходимо разработать функцию, которая асинхронно отправляет HTTP-запрос к указанному URL и возвращает текстовое содержимое ответа сервера. Функция принимает один параметр: * `url` (str): Строка...
Необходимо найти кратчайший путь между двумя заданными вершинами (узлами) в невзвешенном графе, используя алгоритм поиска в ширину (BFS). В результате работы программы должен быть возвращен список ве...
Необходимо реализовать контекстный менеджер `open_file` для безопасного и удобного открытия файлов с автоматическим закрытием после использования. Функция `open_file` принимает один аргумент: `path` ...
Создайте класс `Point`, который представляет точку на плоскости. Входные данные: * `x`: Целое число (int), координата X точки. * `y`: Целое число (int), координата Y точки. Выходные данные: * ...
Необходимо вычислить детерминант квадратной матрицы 2x2. Детерминант является характеристикой матрицы и используется для различных математических задач. На вход подается список списков `m`, представл...
Необходимо реализовать структуру данных типа перечисление (enum) для представления ограниченного набора именованных констант. Входные данные: * `name`: Строка, представляющая имя константы enum. *...
Создайте простое веб-приложение (API) с использованием FastAPI, которое отвечает на запросы к корневому URL (`/`). При получении запроса приложение должно вернуть JSON-ответ, подтверждающий успешность...
Создайте простое веб-приложение с использованием Flask, которое отображает строку "ok" при обращении к корневому URL (`/`). Входные данные: Нет входных данных для функции `home()`. Выходные данные: ...
Необходимо разработать функции для вычисления наибольшего общего делителя (GCD) и наименьшего общего кратного (LCM) двух целых чисел. Входные данные: * `a`: Целое число (int). * `b`: Целое число ...
**Задача: Обнаружение сильных связных компонент (SCC)** Необходимо определить сильные связные компоненты в заданном ориентированном графе. Сильная связная компонента – это подграф, где можно найти пу...
Необходимо разработать функцию для записи сообщений о событиях в программе с возможностью указания уровня важности сообщения. Функция принимает два параметра: * `message` (str): Текстовое сообщение...
Необходимо реализовать кэш с использованием алгоритма "последний использованный" (LRU), чтобы оптимизировать вычисления чисел Фибоначчи. Задача заключается в вычислении n-го числа Фибоначчи и сохране...
Создайте параллельный процесс для выполнения заданной функции. Задача заключается в создании нового процесса, который независимо от основного процесса выполняет указанную функцию. Вход: * `worker`...
Создайте функцию, которая генерирует namedtuple на основе заданного имени и списка названий полей. Входные данные: * `typename`: Строка – имя, которое будет присвоено создаваемому namedtuple (напри...
Необходимо реализовать свойство `age` для класса `User`, которое будет предоставлять доступ к внутреннему атрибуту возраста пользователя. Входные данные: * `age`: Целое число (int), представляющее ...
Необходимо разработать модель данных `User` с использованием библиотеки Pydantic для валидации и преобразования информации о пользователе. Входные данные: * `id`: Целое число (int) – уникальный иде...
Написать набор тестов для функции `add`, которая складывает два целых числа. Необходимо проверить корректность работы функции при различных входных значениях. Входные данные: * `a`: Целое число (in...
Напишите функцию, которая получает содержимое веб-страницы по заданному URL и возвращает информацию о полученных данных. Входные данные: * `url` (string): URL веб-страницы для получения данных. ...
## Задача: RLE-кодирование и декодирование строк Необходимо разработать функции для сжатия (кодирования) строк методом Run-Length Encoding (RLE), который заменяет повторяющиеся последовательности сим...
Необходимо реализовать функцию, которая шифрует или расшифровывает строку по алгоритму ROT13. ROT13 – это метод шифрования, который заменяет каждую букву на букву, находящуюся на 13 позиций дальше в ...
Создайте программу, которая взаимодействует с базой данных SQLite, хранящейся в памяти, для выполнения операций CRUD (Create, Read, Update, Delete). Входные параметры: * `conn`: Объект соединения с...
Создайте поток, который выводит на консоль строку "hi". Входные параметры: Нет входных параметров. Выходные данные: Функция не возвращает никакого значения (возвращает `None`). Сообщение "hi" должн...
Необходимо найти два различных числа в заданном массиве `nums`, которые при сложении дают указанное значение `target`. Входные данные: * `nums`: Список целых чисел (`list[int]`). * `target`: Цело...
Необходимо разработать протокол `Reader`, который позволяет читать строки из источника заданной длины. Входные данные: * `Reader`: Объект, реализующий протокол `Reader`. * `n`: Целое число (int)...
Необходимо определить, являются ли две строки анаграммами друг друга. Две строки считаются анаграммами, если они содержат одинаковые буквы в одинаковом количестве, независимо от порядка этих букв и ре...
Необходимо реализовать алгоритм бинарного поиска для определения, присутствует ли заданное число `x` в отсортированном массиве целых чисел `arr`, и если да, то вернуть его индекс (смещение от начала м...
Необходимо реализовать функцию для сортировки списка целых чисел по возрастанию с использованием алгоритма быстрой сортировки. Входные данные: `arr`: Список (или массив) целых чисел, который необходи...
Необходимо разработать функцию для проверки корректности формата адреса электронной почты, переданного в качестве строки. Функция принимает один параметр: `email` (str) – строка, представляющая собой...
Необходимо найти длину самой длинной подстроки входной строки `s`, состоящей из уникальных символов. Входные данные: `s`: строка (string) – исходная строка, для которой нужно найти самую длинную подс...
Необходимо разработать функцию для генерации случайного пароля определенной длины. Пароль должен содержать символы из букв (верхнего и нижнего регистров), цифр и специальных символов. Функция принима...
Необходимо найти все начальные индексы в заданной строке `s`, где можно образовать конкатенацию всех слов из списка `words`. Входные данные: * `s`: Строка, в которой нужно искать подстроку (тип: st...
Напишите программу, которая подсчитывает количество гласных букв (a, e, i, o, u, а, е, ё, и, о, у, ы, э, ю, я) в заданной строке. Входные данные: `text`: Строка (string), содержащая текст для анализа...
Задача: Найти самую короткую подстроку строки `s`, которая содержит все символы из заданной строки `t`. Входные данные: * `s`: Строка, в которой нужно найти подстроку (тип: строка). * `t`: Строка...
Необходимо найти общие элементы двух списков, учитывая возможность их повторения и количество этих элементов в каждом исходном списке. Входные данные: * `a`: Список (list) - первый список элементов...
Необходимо проверить, является ли заданная частично заполненная сетка судоку валидной. Входные данные: `board`: Двумерный массив (список списков) целых чисел, представляющий собой судоку размером 9x...
Необходимо реализовать структуру данных – двусвязный список – позволяющую эффективно добавлять, удалять и изменять элементы списка, перемещаясь как вперед, так и назад по списку. Функция принимает од...
Необходимо обнулить все элементы матрицы, расположенной в виде спирали, и вернуть их в порядке обхода этой спирали. На вход принимается матрица `matrix`, представленная в виде двумерного списка (спис...
Необходимо найти два числа в отсортированном массиве, сумма которых равна заданному целевому значению. Входные данные: * `arr`: Отсортированный массив целых чисел (list). * `target`: Целое число...
Необходимо реализовать функцию, которая поворачивает заданную матрицу (представленную в виде двумерного массива) на 90 градусов по часовой стрелке. На вход подается двумерный массив целых чисел `matr...
Необходимо реализовать алгоритм поиска кратчайшего пути от заданной начальной вершины до всех остальных вершин графа, избегая повторного посещения уже обработанных вершин. Это модификация алгоритма Д...
Задача: Необходимо изменить элементы матрицы так, чтобы все строки и столбцы, содержащие хотя бы один ноль, были заполнены нулями. Входные данные: Функция принимает на вход двумерный массив (список с...
Задача: Создание декоратора для логирования вызовов функций. Необходимо разработать декоратор, который автоматически добавляет функциональность логирования каждого вызова функции, к которой он примен...
Реализовать игру "Жизнь" Конвея, где состояние каждой клетки сетки изменяется согласно правилам игры после каждого поколения. Игра должна обновлять состояние всех клеток сетки на следующем поколении,...
Необходимо определить длину наибольшего диаметра дерева, представленного в виде графа. Диаметр дерева – это максимальная длина пути между любыми двумя узлами дерева. Входные данные: `tree`: Словарь (...
Необходимо определить, возможно ли составить строку `ransomNote` из символов строки `magazine`. Входные данные: * `ransomNote`: Строка, содержащая буквы, которые нужно составить. * `magazine`: С...
Задача: Определить, являются ли две строки изоморфными друг другу. Изоморфные строки – это такие строки, где каждый символ в первой строке соответствует ровно одному символу во второй строке, и наобор...
Необходимо определить, являются ли две строки `s` и `t` изоморфными. Изоморфные строки – это строки, между которыми можно установить взаимно однозначное соответствие (биекцию) символов. Входные данны...
Необходимо проверить, является ли строка `pattern`, состоящая из слов, точным соответствием строке `s`, также состоящей из слов. Строка `s` разделена на слова пробелами. Входные данные: * `pattern...
Необходимо найти максимальную сумму элементов в любом подмассиве (непрерывной последовательности) внутри заданного массива чисел. Входные данные: `nums`: Список целых чисел (`list[int]`), представляю...
Задача: Определить, являются ли две строки анаграммами друг друга. Анаграммы состоят из одинаковых букв, но в разном порядке. Входные данные: * `s`: Строка (string) - первая строка для проверки. * ...
Необходимо реализовать алгоритм умножения двух целых чисел методом Карацубы. Задача заключается в эффективном вычислении произведения двух чисел путем рекурсивного деления и небольших умножений. Функ...
Необходимо сгруппировать переданные строки (слова) так, чтобы все анаграммы оказались в одной группе. В результате должна быть сформирована структура данных, где каждая группа содержит слова, являющи...
Задача: Магический квадрат Необходимо определить, является ли заданная матрица (сетка) магическим квадратом. Магический квадрат – это квадратная таблица чисел, где сумма элементов в каждой строке, ст...
Необходимо найти два числа в заданном массиве `nums`, сумма которых равна целевому значению `target`. Входные данные: * `nums`: Массив целых чисел. * `target`: Целое число – искомая сумма. Выход...
Оцените значение числа Пи (π) с помощью метода Монте-Карло. Этот метод заключается в генерации случайных точек в квадрате и подсчете доли точек, попавших внутрь вписанного в этот квадрат круга. Вход...
Задача заключается в определении, является ли данное число "счастливым". Входные данные: целое число `n` (int). Выходные данные: логическое значение `True`, если число счастливое, и `False` в против...
Необходимо определить все мосты в заданном связном графе. Мост – это ребро, удаление которого приводит к разделению графа на две несвязные компоненты. На вход подается словарь `g`, представляющий гра...
Необходимо определить, содержит ли массив `nums` дубликаты значений, которые находятся друг от друга не более чем на расстояние `k`. Входные данные: * `nums`: Список целых чисел. * `k`: Целое чис...
Необходимо реализовать структуру данных "очередь" (Queue), которая следует принципу FIFO (First-In, First-Out). Очередь должна поддерживать добавление элементов в конец и удаление из начала. Входные...
Необходимо найти длину самой длинной последовательности чисел, где каждое соседнее число отличается на 1, в заданном массиве целых чисел. Входные данные: `nums`: Список (list) целых чисел. Выходные ...
Необходимо определить, является ли данная строка палиндромом после предварительной обработки (удаления неалфавитно-цифровых символов и приведения к нижнему регистру). Входные данные: * `s`: Строка ...
Необходимо сгенерировать список интервалов из отсортированного массива чисел. Входные данные: `nums`: Список целых чисел, отсортированных по возрастанию. Выходные данные: Список строк, представляющи...
Необходимо определить, является ли данное целое число палиндромом. Палиндром – это число, которое при переворачивании не меняет своего значения (например, 121). Входные данные: * `x: int` - Целое ...
Необходимо объединить все перекрывающиеся интервалы в списке в один отсортированный список непересекающихся интервалов. Входные данные: Список интервалов, представленных в виде списков или кортежей, ...
Необходимо найти общие элементы в двух списках целых чисел и вернуть новый список, содержащий только уникальные значения из этого пересечения. На вход подаются два списка целых чисел `a` и `b`. Функ...
Необходимо отсортировать список непересекающихся интервалов таким образом, чтобы добавить новый интервал, не нарушая упорядоченности и сохраняя корректное представление всех интервалов. Входные данны...
Необходимо реализовать построение и использование пирамиды кучи (heap) для хранения списка целых чисел. **Входные данные:** * `elements`: Список целых чисел, представляющий собой элементы для запо...
Необходимо определить минимальное количество стрел, необходимых для лопанья всех воздушных шаров, расположенных в заданном массиве точек. Входные данные: `points`: Список кортежей, где каждый кортеж ...
Необходимо сгенерировать все возможные подмножества заданного набора целых чисел. Каждое подмножество представляется списком элементов из исходного набора. Входные данные: `nums`: Список целых чисел ...
Необходимо проверить, является ли строка с символами скобок (круглыми, квадратными, фигурными) правильно сбалансированной. Строка считается правильно сбалансированной, если для каждой открывающей ско...
Задача: Проверка двудольности графа Необходимо определить, является ли данный граф двудольным, то есть можно ли его раскрасить в два цвета так, чтобы никакие две смежные вершины не имели одинаковый ц...
Необходимо упростить заданный путь файловой системы Unix, представляющий собой структуру каталогов. Входные данные: `path` (str): Строка, представляющая путь к файлу или директории в формате Unix. П...
Необходимо определить, является ли заданное целое число простым или составным. Простое число делится только на 1 и само себя. Входные данные: * `n`: Целое число (`int`), которое необходимо проверит...
Необходимо реализовать структуру данных "Минимальный стек" (Min Stack), которая поддерживает операции добавления (`push`), удаления верхнего элемента (`pop`), получения верхнего элемента (`top`) и пол...
Необходимо найти одно число из последовательности целых чисел от 1 до N (включительно), которое отсутствует в предоставленном списке чисел. Входные данные: * `nums`: Список целых чисел, представляю...
Необходимо вычислить математическое выражение, представленное в обратной польской нотации (RPN). Обратная польская нотация – это формат записи выражений, где операторы следуют непосредственно за опер...
Разложить заданное целое число на простые множители, то есть представить его как произведение известных простых чисел. Входные данные: одно целое число `n`. Выходные данные: список целых чисел, сод...
Напишите функцию, которая вычисляет арифметическое выражение со скобками и операциями сложения и вычитания. Функция принимает строку `s` (строка), содержащую арифметическое выражение в виде строки. ...
Необходимо реализовать функцию, которая переворачивает связный список, изменяя направление указателей `next` в каждом узле. На вход принимается указатель `head` на голову связного списка типа `ListNo...
Необходимо определить, образует ли данный связный список цикл. На вход принимается один параметр типа `ListNode`, представляющий голову связного списка. `ListNode` имеет два атрибута: `val` (значен...
Необходимо реализовать алгоритм для генерации списка всех простых чисел до заданного натурального числа `n` включительно. Простые числа – это целые положительные числа, которые делятся только на 1 и ...
Необходимо реализовать функцию, которая складывает два числа, представленных в виде связных списков цифр. Входные данные: * `l1`: Связный список, представляющий первую часть числа. Каждый узел спи...
Необходимо разработать программу для преобразования целых чисел в их римское представление и обратно. Входные данные: * `num` (int): Целое число, которое нужно представить в виде римской записи или...
Необходимо реализовать функцию, которая объединяет два отсортированных связных списка в один отсортированный связный список. Входные данные: `list1`: Первый отсортированный связный список, представле...
Напишите функцию, которая определяет самое часто встречающееся слово в заданном тексте. Входные данные: `text` (str): Строка текста, содержащая одно или несколько слов. Выходные данные: (str or None...
Необходимо создать новую копию связного списка, где каждый узел новой копии соответствует исходному узлу, и случайные указатели (random pointers) в новой копии правильно сопоставлены с соответствующим...
Необходимо проверить, правильно ли сбалансированы скобки (круглые, квадратные, фигурные) в данной строке. Входные данные: строка `s` (строка), содержащая скобки различных типов. Выходные данные: бул...
Необходимо изменить структуру связного списка, развернув подсписок, который начинается с узла на позиции `left` и заканчивается узлом на позиции `right` (включительно). Входные данные: * `head`: Ук...
Необходимо создать новый отсортированный список, объединив два заданных отсортированных списка целых чисел. Входные данные: * `a`: Список (list) целых чисел, предварительно отсортированный по возра...
Задача заключается в том, чтобы переформировать связный список таким образом, чтобы его узлы группировались по k элементов и каждый такой подсписок разворачивался в обратном порядке. Входные данные: ...
Необходимо определить, является ли заданное натуральное число совершенным. Совершенное число – это положительное целое число, равное сумме его собственных делителей (исключая само число). Входные дан...
Задача заключается в удалении n-го узла с конца заданного связного списка. Входные данные: * `head`: Указатель на голову связного списка (тип ListNode). * `n`: Целое число, определяющее позицию у...
Необходимо реализовать функцию сортировки слиянием (Merge Sort), которая принимает неотсортированный список чисел и возвращает новый список, содержащий те же числа в отсортированном порядке по возраст...
Задача заключается в удалении всех повторяющихся значений из отсортированного списка (связного списка), оставляя только уникальные элементы. Входные данные: `head`: Указатель на голову отсортированно...
Необходимо реализовать структуру данных "Стек" (Stack), которая позволяет добавлять и удалять элементы с соблюдением принципа LIFO ("последним пришел – первым ушел"). Функция `push(x)` принимает числ...
Необходимо реализовать функцию, которая циклически сдвигает заданный связный список вправо на `k` позиций. Входные данные: * `head`: Указатель на голову связного списка (узел). * `k`: Целое число...
Необходимо определить, является ли заданное целое число степенью двойки. Для этого нужно проверить, положительное ли число и не имеет ли оно ни одного установленного бита (кроме самого младшего). Вхо...
Разделить данный связный список на два подсписка таким образом, чтобы все узлы, значения которых меньше заданного числа `x`, находились в первом подсписке, а все узлы с значениями больше или равными `...
Задача: Счастливый билет Необходимо проверить, является ли заданная строка (представляющая собой число) счастливым билетом. Счастливый билет определяется как число, для которого сумма цифр его левой...
Реализуйте структуру данных LRU (Least Recently Used) Cache. LRU кэш хранит пары ключ-значение и поддерживает максимальный размер. Входные данные: `capacity`: Целое число, определяющее максимальную ...
Необходимо определить тип треугольника, заданного тремя сторонами. Треугольник может быть равносторонним, равнобедренным, разносторонним или не являться треугольником. На вход подаются три целых числ...
Необходимо определить максимальную глубину бинарного дерева, то есть длину самого длинного пути от корня до любого листа в дереве. Входные данные: * `root`: Корень бинарного дерева. Предполагается...
Необходимо найти `k` наибольших элементов в заданном списке чисел. Для этого используется структура данных – куча (heap), которая позволяет эффективно находить элементы с максимальными значениями. Вх...
Необходимо реализовать алгоритм топологической сортировки для ориентированного графа. Топологическая сортировка представляет собой линейное упорядочение вершин (узлов) графа таким образом, что для ка...
Задача заключается в определении, являются ли два заданных бинарных дерева идентичными по структуре и значениям узлов. Входные данные: * `p`: Указатель на корень первого бинарного дерева (тип может...
Вычислить факториал заданного неотрицательного целого числа. Факториал числа n (обозначается как n!) – это произведение всех натуральных чисел от 1 до n. Входные данные: одно целое число `n` (int), п...
Необходимо перевернуть бинарное дерево, меняя местами левое и правое поддеревья каждого узла. Входные данные: * `root`: Корень бинарного дерева типа `TreeNode`. Если дерево пустое, `root` будет ра...
Задача заключается в проверке, является ли данное бинарное дерево симметричным, то есть, если отразить левое поддерево относительно центрального узла, оно должно совпадать с правым поддеревом. Входны...
Необходимо реализовать функцию для вычисления n-го числа Фибоначчи, используя матричное умножение. Входные данные: * `n`: целое число (int), представляющее номер числа Фибоначчи, которое нужно вычи...
Задача заключается в построении бинарного дерева, используя предоставленные обходы префиксного (preorder) и инфиксного (inorder) переходов. Входные данные: * `preorder`: Список (list) целых чисел,...
Необходимо определить узлы дерева, являющиеся "центрами" – то есть, узлы, вокруг которых другие узлы расположены симметрично. Центр дерева – это один или несколько узлов, которые имеют равное количес...
Задача заключается в построении бинарного дерева с заданными свойствами, используя два обхода: inorder и postorder. Входные данные: * `inorder`: Список (list) целых чисел, представляющих узлы бина...
Задача: Необходимо пройтись по всем узлам бинарного дерева и заполнить указатель `next` каждого узла, указывающий на его непосредственного потомка (следующего) в том же уровне дерева. Если узел не им...
Необходимо определить, является ли данное число «числом Армстронга». Число Армстронга – это число, равное сумме его цифр в степени количества цифр в этом числе. Вход: одно целое число `n`. Выход: Бу...
Преобразовать заданное бинарное дерево в связный список, где узлы дерева последовательно соединены друг с другом в порядке обхода в глубину (preorder). Входные данные: `root`: Корень бинарного дерева...
Задача заключается в проверке, существует ли путь от корня дерева к любому его листовому узлу, сумма значений которого равна заданной целевой сумме. Входные данные: * `root`: Корень бинарного дерев...
Необходимо вычислить сумму всех возможных чисел, которые можно составить, проходя по всем путям от корня дерева до листьев. Входные данные: * `root`: Корень бинарного дерева. Каждый узел дерева пре...
Задача заключается в том, чтобы найти максимальную сумму пути (поддерева) в данном бинарном дереве. Входные данные: * `root`: Корень бинарного дерева, представленный узлом. Узел имеет атрибуты `va...
Необходимо реализовать итератор для двоичного дерева поиска (BST), который предоставляет методы `next()` и `hasNext()`. Входные данные: * `root`: Корневой узел BST типа TreeNode. Выходные данные:...
Задача: Необходимо подсчитать количество узлов в полном бинарном дереве. Входные данные: * `root`: Корень бинарного дерева, представленный объектом (предполагается наличие атрибутов `left` и `right...
Необходимо найти наименьшего общего предка (LCA) двух заданных узлов `p` и `q` в данном бинарном дереве. На вход подается: * `root`: Корень бинарного дерева, представляющего собой узел с атрибутами...
Необходимо реализовать функцию, которая возвращает значения узлов бинарного дерева, видимых с правой стороны. Входные данные: `root`: Корень бинарного дерева. Предполагается, что это узел класса `Tr...
Необходимо вычислить среднее значение значений узлов на каждом уровне бинарного дерева. Входные данные: * `root`: Корень бинарного дерева. Узел может быть представлен объектом с атрибутами `val` (з...
Необходимо реализовать обход бинарного дерева по уровням (Breadth-First Search или BFS). Задача заключается в том, чтобы получить представление о структуре дерева, где каждый уровень представлен спис...
Необходимо реализовать обход бинарного дерева по уровням (level order traversal) таким образом, чтобы элементы каждого уровня выводились в "Z-образной" последовательности. Это означает, что при обход...
Необходимо найти минимальную абсолютную разницу между любыми двумя значениями узлов в данном бинарном дереве поиска (BST). Входные данные: `root`: Корень бинарного дерева поиска, представленный узлом...
Необходимо найти k-й наименьший элемент в данном бинарном дереве поиска (BST). На вход принимаются: * `root`: корень BST, представляющий собой узел дерева. * `k`: целое число, указывающее на пози...
Задача заключается в проверке бинарного дерева поиска (BST) на соответствие его структуре правилам BST. Необходимо определить, является ли данное дерево валидным BST, то есть соответствует ли свойств...
Необходимо подсчитать количество отдельных "островов" (областей, состоящих из символов '1') в данной бинарной матрице. Входные данные: * `grid`: Двумерный массив (список списков) целых чисел, где к...
Задача заключается в том, чтобы изменить карту, состоящую из 'X' и 'O', так, чтобы все области, окруженные 'X', были заменены на 'X'. Входные данные: `board`: Двумерный массив строк (список списков),...
Необходимо создать копию неориентированного графа, где каждый узел (Node) может иметь несколько соседей (neighbors). Входные данные: * `node`: Узел графа, с которого начинается клонирование. Тип д...
Необходимо вычислить значения уравнений вида a/b = value для заданных значений a, b и value, а также для заданных запросов, состоящих из двух переменных. Входные данные: * `equations`: Список корте...
Необходимо определить, возможно ли успешно завершить все курсы в университете, учитывая зависимости между ними (какой курс нужно пройти перед тем, как можно начать другой). Задача сводится к проверке...
Необходимо определить порядок прохождения курсов, учитывая зависимости между ними (предварительные требования). Каждому курсу может быть присвоено несколько предварительных требований. Задача заключ...
Задача: Определить минимальное количество шагов для достижения финиша (квадрата n*n) в игре "Змеи и лестницы". Входные данные: `board`: Двумерный массив целых чисел размером n x n, представляющий дос...
Задача заключается в определении минимального количества мутаций (изменений одного символа ДНК в другой), необходимых для преобразования одной заданной строки ДНК в другую. Входные данные: * `start...
Необходимо найти длину самой короткой последовательности слов, начиная с заданного начального слова и заканчивая целевым словом, где каждое следующее слово отличается от предыдущего только одной букво...
Необходимо реализовать структуру данных Trie (префиксное дерево) для эффективного хранения и поиска слов, а также проверки наличия префиксов. Входные данные: * `word`: Строка, представляющая слово ...
Необходимо разработать структуру данных `WordDictionary`, которая позволяет добавлять новые слова и искать их, поддерживая символ '.' как wildcard (подставку любого символа) при поиске. На вход подае...
Необходимо найти все слова из заданного списка (words), которые можно составить, начиная с произвольной ячейки игрового поля слов (board) и перемещаясь по соседним ячейкам в горизонтальном или вертика...
Необходимо реализовать функцию сортировки пузырьком для упорядочивания списка целых чисел по возрастанию. Функция должна создать и вернуть новый отсортированный список, не изменяя исходный список. Вх...
Необходимо реализовать алгоритм бинарного поиска для эффективного определения позиции заданного элемента в отсортированном массиве чисел. Входные данные: * `arr`: Отсортированный массив целых чисел...
Задача о рюкзаке (0/1 Knapsack) заключается в определении максимальной общей ценности предметов, которые можно поместить в рюкзак заданной вместимости, при условии, что каждый предмет можно взять либо...
Необходимо реализовать функцию для вычисления последовательности Фибоначчи с использованием динамического программирования (DP). Входные данные: целое число `n`, определяющее длину искомой последоват...
Необходимо реализовать функцию для определения, содержит ли неориентированный граф цикл. Функция должна проверить все вершины графа и обнаружить замкнутые пути во время обхода в глубину (DFS). Вход:...
Необходимо сгенерировать все возможные комбинации букв, соответствующие заданному телефонному номеру (строке цифр). Входные данные: `digits` - строка, содержащая цифры телефонного номера. Строка мож...
Задача заключается в генерации всех возможных комбинаций из `k` элементов, выбранных из последовательности чисел от 1 до `n`. Входные данные: * `n`: Целое число, представляющее верхнюю границу диап...
Необходимо сгенерировать все возможные перестановки (упорядоченные варианты) элементов заданного массива целых чисел. Входные данные: * `nums`: Список (array) целых чисел. Выходные данные: * `r...
Необходимо найти все уникальные комбинации чисел из заданного списка кандидатов, которые в сумме дают целевое значение. Входные данные: * `candidates`: Список целых чисел (list of integers), предст...
Задача заключается в подсчете количества различных способов расположить *n* ферзей на шахматной доске размера *n x n* так, чтобы никакие две фигуры не атаковали друг друга. Входные данные: * `n` (i...
Необходимо сгенерировать все возможные комбинации скобок, используя `n` открывающих и `n` закрывающих скобок, при этом соблюдая правило, что каждая закрывающая скобка должна соответствовать предыдущей...
Задача: Необходимо проверить, содержится ли заданное слово в предоставленной сетке букв (игровом поле). Входные данные: * `board`: Двумерный массив строк, представляющий игровое поле. Каждая строка...
Преобразовать заданный отсортированный массив в сбалансированное двоичное дерево поиска (BST). Входные данные: `nums`: Список целых чисел, представляющих элементы BST, отсортированные по возрастанию....
Необходимо отсортировать заданный связный список по возрастанию значений его узлов. Входные данные: `head`: Указатель на голову (первый узел) связного списка. Список может быть пустым или содержать...
Задача заключается в построении Quad Tree (квадратного дерева) из бинарной матрицы, где 0 представляет собой пустое пространство, а 1 – заполненное. Входные данные: `grid`: Двумерный массив (список с...
Необходимо объединить заданное количество (k) отсортированных связных списков в один новый связный список, содержащий все элементы из исходных списков в лексикографическом порядке. Входные данные: `l...
Необходимо найти максимальную сумму элементов подмассива, который может быть получен из данного массива целых чисел. Входные данные: `nums`: Массив целых чисел (список/array). Выходные данные: Целое...
Задача: Необходимо найти максимальную сумму подмассива внутри заданного массива, где элементы могут быть как положительными, так и отрицательными. Важно учитывать возможность циклического (вращающего...
Необходимо найти индекс в отсортированном массиве, куда следует вставить целевое число `target`, чтобы сохранить порядок сортировки. Входные данные: * `nums`: Отсортированный массив целых чисел. *...
Необходимо реализовать функцию, которая определяет, присутствует ли заданный элемент (target) в двумерной матрице, отсортированной по возрастанию как по строкам, так и по столбцам. Входные данные: * ...
Необходимо найти и вернуть индекс любого пикового элемента в данном массиве чисел. Входные данные: `nums`: Список целых чисел (int). Выходные данные: Целое число (int), представляющее индекс пиковог...
Необходимо реализовать функцию, которая ищет заданный элемент `target` в массиве `nums`, который изначально был отсортирован, но затем подвергся сдвигу (частичной перестановке элементов). Входные дан...
Необходимо найти индексы первого и последнего вхождения заданного элемента (target) в отсортированном массиве (nums). Входные данные: * `nums`: Список целых чисел, отсортированный по возрастанию. *...
Необходимо найти минимальный элемент в массиве `nums`, который изначально был отсортирован по возрастанию, но затем подвергся сдвигу (частичной или полной). Входные данные: `nums`: Массив целых чисел...
Задача: Необходимо найти медиану объединенных двух отсортированных массивов. Медиана – это значение, которое делит упорядоченный набор чисел пополам; для нечетного числа элементов - это среднее арифме...