Сортировка цветов Решение LeetCode

Постановка задачи Сортировка цветов LeetCode Решение. Дан массив nums с n объектами, окрашенными в красный, белый или синий цвет, отсортировать их на месте так, чтобы объекты одного цвета были смежными, а цвета располагались в порядке красный, белый и синий. Мы будем использовать целые числа 0, 1 и 2 для обозначения красного, белого и синего цветов соответственно. …

Подробнее

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

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

Подробнее

Решение LeetCode для клонирования графа

Постановка задачи Клонирование графа LeetCode Решение. Нам дают ссылку на узел в связном неориентированном графе и просят вернуть глубокую копию графа. Глубокая копия — это, по сути, клон, в котором ни один узел, присутствующий в глубокой копии, не должен иметь ссылку…

Подробнее

K наиболее часто встречающихся элементов

Постановка задачи В K наиболее часто встречающихся элементах мы дали массив nums [], найдите k наиболее часто встречающихся элементов. Примеры nums [] = {1, 1, 1, 2, 2, 3} k = 2 1 2 nums [] = {1} k = 1 1 Наивный подход для построения K наиболее часто встречающихся элементов…

Подробнее

Приоритетная очередь с использованием односвязного списка

В приоритетной очереди с использованием задачи односвязного списка нам необходимо реализовать приоритетную очередь, используя односвязный список. Очередь с приоритетом содержит следующие операции, push (x, p): добавить элемент x с приоритетом p в соответствующую позицию в очереди с приоритетом. pop (): Удалить и вернуть…

Подробнее

Удалить и заработать

В задаче «удалить и заработать» мы указали номера массива, вы можете выполнить следующую операцию с элементами массива. За одну операцию вы можете выбрать любой элемент массива (скажем, nums [i]) и получить очки, равные этому элементу, и удалить все вхождения (nums [i] - 1) и (nums [i] +…

Подробнее

Поиск в ширину (BFS) для графика

Поиск в ширину (BFS) для графа - это алгоритм обхода или поиска в структуре данных дерева / графа. Он начинается с заданной вершины (любой произвольной вершины) и исследует всю связанную вершину, а затем переходит к ближайшей вершине и исследует все неисследованные узлы и заботится о том, чтобы нет…

Подробнее

Минимальное количество символов, которые необходимо удалить, чтобы сделать двоичную строку альтернативной

Постановка проблемы. Для двоичной строки напишите программу, которая найдет минимальное количество символов, которое можно удалить из этой строки, чтобы она стала альтернативной. Двоичная строка называется альтернативной, если нет последовательных 0 или 1 Формат ввода. Первая строка…

Подробнее

Проверка Pangram

Постановка задачи В задаче «Проверка панграммы» мы добавили предложение «s». Проверьте, является ли данное предложение / строка Pangram или нет. Панграмма - это предложение / строка, содержащая каждую букву алфавита от a до z или без учета регистра. Формат ввода Первая и единственная строка, содержащая…

Подробнее

Самый эффективный способ поиска дубликатов в массиве

Постановка задачи. Отобразите все дублирующиеся элементы наиболее эффективным способом в пространстве O (n) и O (1). Учитывая массив размера n, который содержит числа от 0 до n-1, эти числа могут встречаться любое количество раз. Находите дубликаты в массиве наиболее эффективным…

Подробнее

Translate »