Публикации по теме 'leetcode'
Почему ДП: ЛКС
При рекурсивном подходе к этой проблеме 25-й/1307-й тестовые случаи потребовали тайм-аута. По большей части рекурсия медленнее и занимает больше стека вызовов. Возьмем, к примеру, строку 9. Это вызов lcs для двух частей (i+1, j) и (i, j+1). После первых двух итераций становится ясно, что эта функция вызвала lcs для тех же значений i и j. Повторный вызов одной и той же функции и параметра не приводит к оптимизации и увеличивает стек вызовов до такой степени, что мы достигаем..
Решение LeetCode — Word Pattern
Вопрос
Учитывая pattern и строку s , найдите, соответствует ли s тому же шаблону. Здесь follow означает полное совпадение, т. е. биекцию между буквой в pattern и непустым словом в s .
Пример 1:
Input: pattern = "abba", s = "dog cat cat dog"
Output: true
Пример 2:
Input: pattern = "abba", s = "dog cat cat fish"
Output: false
Пример 3:
Input: pattern = "aaaa", s = "dog cat cat dog"
Output: false..
𝐀𝐩𝐩𝐥𝐞 𝐈𝐧𝐭𝐞𝐫𝐯𝐢𝐞𝐰 Вопросы для 𝐒𝐃𝐄 роли
Топ вопросов по LeetCode , заданных в 𝐀𝐩𝐩𝐥𝐞 𝐈𝐧𝐭𝐞𝐫𝐯𝐢𝐞𝐰𝐬 для 𝐒𝐃𝐄 Роли ❤️
- Переместить нули - https://lnkd.in/dWrM3guU
- 3Sum [7 раз] - https://lnkd.in/d_vhP7X8
- Обратное целое - https://lnkd.in/dakwsvz9
- От латинского к целому - https://lnkd.in/d3wrkWAb
- Две суммы [32 раза] - https://lnkd.in/dz-nQabK
- Содержит дубликаты - https://lnkd.in/dSGzKSpr
- Word Break [9 раз] - https://lnkd.in/dTyrvmrd
- Улавливание дождевой воды - https://lnkd.in/dseQCGsV..
LeetCode — Найти минимум в отсортированном с поворотом массиве
Постановка задачи
Предположим, что массив длины n , отсортированный в возрастающем порядке, вращается от 1 до n раз. Например, массив nums = [0, 1, 2, 4, 5, 6, 7] может стать следующим:
[4, 5, 6, 7, 0, 1, 2] , если он был повернут 4 раза. [0, 1, 2, 4, 5, 6, 7] , если он был повернут 7 раз. Обратите внимание, что поворот массива [a[0], a[1], a[2], …, a[n — 1]] 1 раз приводит к массиву [a[n — 1] , а[0], а[1], а[2], …, а[п — 2]].
Учитывая отсортированный повернутый массив..
Удалить элемент из списка
Учитывая список чисел и значение, удалите все вхождения этого значения из списка чисел на месте и верните количество оставшихся элементов. например nums = [0,1,2,2,3,0,4,2] , val = 2 должны возвращать 5 с числами как [0,1,4,0,3,_,_,_] .
Для начала создадим два указателя — один в начале и один в конце:
def removeElement(nums, val):
i = 0
j = len(nums) - 1
2. Далее мы будем перебирать числа, пока указатели не перекрываются:
def removeElement(nums, val):
i = 0..
LeetCode # 155 мин стек
Легкий
Проблема
Разработайте стек, который поддерживает push, pop, top и извлечение минимального элемента за постоянное время.
push(x) — Поместить элемент x в стек. pop() — удаляет элемент с вершины стека. top() — Получить верхний элемент. getMin() — Получить минимальный элемент в стеке.
Пример:
MinStack minStack = new MinStack();
minStack.push(-2);
minStack.push(0);
minStack.push(-3);
minStack.getMin(); --> Returns -3.
minStack.pop();
minStack.top(); --> Returns..
Куча и приоритетная очередь
В последнее время я начинаю писать задачи на Leetcode. Однако я немного запутался в очереди приоритетов.
Вот некоторые концепции приоритетной очереди.
Приоритетная очередь является расширением очереди со следующими свойствами. 1) Каждый элемент имеет связанный с ним приоритет. 2) Элемент с высоким приоритетом удаляется из очереди перед элементом с низким приоритетом. /> 3) Если два элемента имеют одинаковый приоритет, они обслуживаются в соответствии с их порядком в очереди...