Публикации по теме 'datastrucutre'


Все о стеке
Вы когда-нибудь замечали количество тарелок, сложенных в ресторане?… Вы когда-нибудь наблюдали, как расположены эти кучи? Если да, вам будет легче понять, что такое стек. Определение стека выглядит следующим образом: Стек — это линейная структура данных, в которой элементы вставляются или удаляются только по одному. В сценарии с кучкой обеденных тарелок в ресторане, если человек хочет оставить новую тарелку, ему нужно держать ее над самой верхней тарелкой, или он хочет убрать..

Самая длинная возрастающая подпоследовательность O (nlogn)
Задача самой длинной возрастающей подпоследовательности (LIS) состоит в том, чтобы найти длину самой длинной подпоследовательности данной последовательности, чтобы все элементы подпоследовательности были отсортированы в порядке возрастания. Например, длина LIS для {10, 12, 9, 13, 21, 50, 41, 65, 85} равна 7, а LIS - {10, 12, 13, 21, 50, 65, 85}. Эту проблему можно решить со сложностью O (n²) с помощью рекурсии или динамического программирования. Но есть другой подход, который может..

Содержит дубликат III
Содержит дубликат III Проблема Дан целочисленный массив nums и два целых числа k и t, вернуть истину, если в массиве есть два различных индекса i и j, такие что abs (nums [i] - nums [j]) ‹= t и abs (i - j) ‹= K. Пример 1: Input: nums = [1,2,3,1], k = 3, t = 0 Output: true Пример 2: Input: nums = [1,0,1,1], k = 1, t = 2 Output: true Пример 3: Input: nums = [1,5,9,1,5,9], k = 2, t = 3 Output: false Подсказка №1 Сложность времени O (n log k) - это укажет, что..

Упростите функции Heapify
Кучи — одна из самых удобных структур данных. Это упрощает операции по поднятию тяжестей до линейного времени за кулисами без путаницы ссылок. Удивительно, но сам акт с этим приятелем также довольно легко понять. Начнем с полезных деталей. Кучи — это полные бинарные деревья. Если есть N узлов, N/2 являются родительскими узлами, а остальные являются дочерними/конечными узлами. Кучи можно легко реализовать с помощью массива с корнем в k-м индексе, левым дочерним элементом в позиции..

Бинарный поиск по матрице
Постановка задачи — проверить, присутствует ли элемент в матрице размера n*m, в которой строки и столбцы отсортированы по возрастанию. Образец ввода - [ [1, 3, 12], [2, 4 , 20], [5, 10, 30]] k=4 Вывод истинный Решение : Первоначальная мысль состоит в том, чтобы применить бинарный поиск к каждой строке, и если в какой-либо из строк есть элемент, то вернуть true, иначе вернуть false. Временная сложность решения составляет O (n log m), что лучше, чем решение..

ArrayList- Java
Динамический массив в java называется ArrayList. Класс ArrayList расширяет AbstractList, который реализует класс List, где класс List расширяет Collection, а Collection расширяет Iterable. ArrayList более гибок, чем встроенная структура данных Array. Доступ, вставка, удаление, изменение элементов в ArrayList очень просты. Давайте посмотрим на объявление ArrayList. ArrayList‹E› arrayList = новый ArrayList‹E› E — это тип данных элементов, которые мы хотим вставить в список..

Найдите все возможные комбинации k чисел от 1 до n.
кодирование задачи собеседования Уровень сложности Середина Запрошено Amazon, Adobe Обсуждены три решения Включение и исключение каждого элемента Исправьте элементы и повторите для создания комбинации номеров K Рекурсивный поиск с возвратом - подход DFS Основные выводы после прочтения этого блога Это хорошая задача на собеседовании, чтобы понять концепцию решения проблем с использованием обратного отслеживания и комбинаторики. Мы можем использовать аналогичные..