Дизайн Структура данных добавления и поиска слов LeetCode Solution

Постановка задачи: разработка структуры данных для добавления и поиска слов. LeetCode Solution говорит: спроектируйте структуру данных, поддерживающую добавление новых слов и поиск совпадений строки с какой-либо ранее добавленной строкой. Реализуйте класс WordDictionary: WordDictionary() Инициализирует объект. void addWord(word) Добавляет слово в структуру данных, оно может быть сопоставлено позже. bool search(word) Возвращает true, если есть …

Подробнее

Вставить Удалить GetRandom O(1) Решение Leetcode

Постановка задачи Решение LeetCode Insert Delete GetRandom O(1) — «Insert Delete GetRandom O(1)» просит вас реализовать эти четыре функции с временной сложностью O(1). insert(val): вставить val в рандомизированный набор и вернуть true, если элемент изначально отсутствует в наборе. Возвращает false, когда…

Подробнее

Создайте решение для таблицы лидеров

Постановка задачи Дизайн таблицы лидеров Решение LeetCode – «Создать таблицу лидеров» предлагает вам выполнить 3 функции: addScore(playerId, score): обновить таблицу лидеров, добавив счет к счету данного игрока. Если такого игрока нет, добавьте его в таблицу лидеров. top(K): вернуть максимальную сумму …

Подробнее

Решение LRU Cache Leetcode

Постановка задачи Кэш LRU Решение LeetCode — «Кэш LRU» просит вас спроектировать структуру данных, которая следует за кэшем наименее недавно использовавшихся (LRU) Нам необходимо реализовать класс LRUCache, который имеет следующие функции: LRUCache (целая емкость): Инициализирует кэш LRU с положительной размерной емкостью. int get(int key): вернуть значение...

Подробнее

Проектирование подземной системы Решение Leetcode

Постановка задачи Проектирование подземной системы Решение LeetCode — «Проектирование подземной системы» предлагает вам спроектировать железнодорожную систему для учета времени в пути клиентов между двумя станциями. Он необходим для расчета среднего времени, необходимого для проезда от одной станции до другой. Нам нужно реализовать…

Подробнее

Реализовать решение Leetcode Trie (дерево префиксов)

Постановка задачи Решение LeetCode по внедрению Trie (дерева префиксов) — «Реализовать Trie (дерево префиксов)» предлагается реализовать структуру данных Trie, которая эффективно выполняет вставку, поиск и поиск по префиксу. Пример: Ввод: ["Trie", "insert", "search", "search", "startsWith", "insert", "search"] [[], ["apple"], ["apple"], [ «приложение»], [«приложение»], [«приложение»], [«приложение»]] Вывод: [null, null, true, false, true, null, true] Объяснение: После вставки всех строк trie выглядит так. Ищется слово яблоко, которое…

Подробнее

Решение с максимальным частотным стеком

Постановка задачи Стек максимальной частоты Решение LeetCode — «Максимальный стек частоты» просит вас спроектировать стек частот, в котором всякий раз, когда мы извлекаем элемент из стека, он должен возвращать наиболее часто встречающийся элемент, присутствующий в стеке. Реализуйте класс FreqStack: FreqStack() создает пустой стек частот. void push(int val) толкает …

Подробнее

Скользящее среднее из потока данных Решение Leetcode

Постановка задачи Скользящее среднее из потока данных Решение LeetCode — «Скользящее среднее из потока данных» утверждает, что задан поток целых чисел и размер окна k. Нам нужно вычислить скользящее среднее всех целых чисел в скользящем окне. Если количество элементов в …

Подробнее

Проектирование стека с операцией приращения Решение Leetcode

Постановка задачи. Проектирование стека с операцией приращения Назначьте максимальную емкость стека. Эффективно выполнять операцию push, если размер стека строго меньше максимальной емкости …

Подробнее

K-й самый большой элемент в решении Stream Leetcode

Постановка задачи В этой задаче мы должны разработать класс KthLargest (), который изначально имеет целое число k и массив целых чисел. Нам нужно написать параметризованный конструктор для него, когда в качестве аргументов передаются целое число k и номера массивов. В классе также есть функция add (val), которая добавляет…

Подробнее

Translate »