Публикации по теме 'algorithms'
Сортировка кучей
Heap Sort — это улучшенная сортировка выбором, основанная на (max) структуре данных Heap;
Он делит элементы на две части (сортированные и несортированные). Heap Sort итеративно уменьшает несортированную часть, удаляя элемент «max» и перемещая его к отсортированному до тех пор, пока несортированная часть не станет пустой.
Сначала создайте Max Heap:
LeetCode — Бинарное дерево, вид справа
Постановка задачи
Учитывая root двоичного дерева, представьте, что вы стоите на правой стороне от него, верните значения видимых узлов, упорядоченные сверху вниз.
Постановка задачи взята с: https://leetcode.com/problems/binary-tree-right-side-view
Пример 1:
Input: root = [1, 2, 3, null, 5, null, 4]
Output: [1, 3, 4]
Пример 2:
Input: root = [1, null, 3]
Output: [1, 3]
Пример 3:
Input: root = []
Output: []
Ограничения:
- The number of nodes in the tree is..
является следствием
LeetCode 392: решение для JavaScript
Постановка проблемы:
Учитывая две строки s и t , вернуть true , если s является подпоследовательностью строки t , или false иначе .
Прежде чем углубляться в решение, давайте на минутку поймем, что такое подпоследовательность.
Подпоследовательность — это последовательность, которая может быть получена из другой последовательности путем удаления некоторых элементов без изменения порядка остальных элементов. Например, {A, B,..
Клонировать график 🛴
Вопрос
Дана ссылка на узел в связном неориентированном графе.
Вернуть глубокую копию (клон) графика.
Каждый узел в графе содержит значение ( int ) и список ( List[Node] ) своих соседей.
class Node {
public int val;
public List<Node> neighbors;
}
Формат тестового примера:
Для простоты значение каждого узла совпадает с индексом узла (с индексом 1). Например, первый узел с val == 1 , второй узел с val == 2 и так далее. Граф представлен в тестовом..
Имитирует ли ИИ людей? Или мы имитируем ИИ?
Представьте, что в недалеком будущем алгоритмы машинного обучения будут выдавать фильмы вместо текста или причудливых рисунков. Что такое фильм, как не серия изображений? Данные обучения представляют собой подмножество всех когда-либо созданных фильмов, помеченных рейтингами целевой аудитории.
Подобный алгоритм может производить фильм за фильмом за фильмом с очень небольшими предельными затратами. Это будет очень…
Объединить k отсортированных списков — LeetCode
Постановка задачи
Вам дан массив из k связанных списков lists , каждый связанный список отсортирован в порядке возрастания.
Объединить все связанные списки в один отсортированный связанный список и вернуть его.
Постановка задачи взята с: https://leetcode.com/problems/merge-k-sorted-lists
Пример 1:
Input: lists = [[1, 4, 5], [1, 3, 4], [2, 6]]
Output: [1, 1, 2, 3, 4, 4, 5, 6]
Explanation: The linked-lists are:
[
1->4->5,
1->3->4,
2->6
]
merging them..
Объяснение быстрой сортировки менее чем за 5 минут
Объяснение самого быстрого алгоритма сортировки, быстро
В области сортировки король - быстрая сортировка!
Quicksort - это рекурсивный алгоритм «разделяй и властвуй», который считается самым быстрым в своем классе. Он может похвастаться средней временной сложностью O (n log n) (в нотации big-o), что по сравнению с его аналогами довольно быстро. Нотация Big-O - это способ измерения того, насколько хорошо алгоритм масштабируется или работает по мере увеличения объема данных, которые он..