Time: O(n)
Space: O(1)
Please open Telegram to view this post
VIEW IN TELEGRAM
👌1
80. Remove Duplicates from Sorted Array II
Company:
Измените его так, чтобы первые k элементов составляли массив, в котором каждый элемент встречается не более двух раз. Относительный порядок элементов должен остаться прежним.
Необходимо решить задачу без использования дополнительной памяти и вернуть k в качестве ответа
#leetcode80 | #medium #twopointers
Please open Telegram to view this post
VIEW IN TELEGRAM
Time: O(n)
Space: O(1)
Please open Telegram to view this post
VIEW IN TELEGRAM
1229. Meeting Scheduler
Company:
Гарантируется, что никакие два слота доступности одного и того же человека не пересекаются друг с другом
#leetcode1229 | #medium #premium #twopointers
Please open Telegram to view this post
VIEW IN TELEGRAM
Time: O(nlogn)
Space: O(1)
Please open Telegram to view this post
VIEW IN TELEGRAM
1163. Last Substring in Lexicographical Order
Company:
#leetcode1163 | #hard #twopointers
Please open Telegram to view this post
VIEW IN TELEGRAM
Time: O(n)
Space: O(1)
➖ для решения воспользуемся наблюдением, что подстрока с большей длиной всегда находится дальше в лексикографическом порядке и для ответа мы всегда будем брать всю подстроку, начиная с некоторой позиции➖ остается лишь найти символ, который стоит дальше в алфавитном порядке, но ведь могут быть и одинаковые, тогда нужно уже смотреть на следующие символы в данных подстроках, чтобы определить очередность
Please open Telegram to view this post
VIEW IN TELEGRAM
- Начало -
[1], [50], [100], [200]
Собранный список на LeetCode:
https://leetcode.com/problem-list/2orbqreg/
1. Array & Hash
2. Two pointers
3. Prefix sum
4. Sliding Window
5. Stack
6. LinkedList
7. Binary Search
8. Binary Tree
9. PriorityQueue
10. Backtracking
11. Graphs
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2🔥1
Please open Telegram to view this post
VIEW IN TELEGRAM
724. Find Pivot Index
Company:
Индекс поворота — это индекс, для которого сумма всех чисел слева от индекса равна сумме всех чисел справа от индекса
#leetcode724 | #easy #prefixsum
Please open Telegram to view this post
VIEW IN TELEGRAM
Time: O(n)
Space: O(1)
Please open Telegram to view this post
VIEW IN TELEGRAM
1413. Minimum Value to Get Positive Step by Step Sum
Company:
#leetcode1413 | #easy #prefixsum
Please open Telegram to view this post
VIEW IN TELEGRAM
Time: O(n)
Space: O(1)
➖ необходимо, чтобы в любой момент текущая сумма была всегда больше 0, поэтому нужно найти минимальное значение, которое появляется при последовательном суммировании элементов и "компенсировать" его положительным начальным значением startValue на 1 больше
Please open Telegram to view this post
VIEW IN TELEGRAM
1422. Maximum Score After Splitting a String
Company:
Результатом разделения строки является количество нулей в левой подстроке плюс количество единиц в правой подстроке
#leetcode1422 | #easy #prefixsum
Please open Telegram to view this post
VIEW IN TELEGRAM
Time: O(n)
Space: O(1)
➖ главное выражение для ответа: кол-во нулей в левой подстроке + кол-во единиц в правой➖ представим кол-во единиц в правой подстроке, как общее кол-во единиц минус их кол-во слева, тогда при проходе по строке, необходимо найти наибольшую разницу кол-ва нулей и единиц слева, а в конце добавить общее кол-во единиц
Please open Telegram to view this post
VIEW IN TELEGRAM
974. Subarray Sums Divisible by K
Company:
#leetcode974 | #medium #prefixsum
Please open Telegram to view this post
VIEW IN TELEGRAM
Time: O(n)
Space: O(k)
(prefix[j] – prefix[i]) % k = 0, что можно записать как prefix[j] % k = prefix[i] % k, то есть нужно найти, сколько раз встречались одинаковые остатки от деления префиксных сумм на kprefix = (prefix + num % k + k) % k, где +k необходимо, чтобы обработать отрицательные значенияPlease open Telegram to view this post
VIEW IN TELEGRAM
2270. Number of Ways to Split Array
Company:
Допустимое разделение — сумма элементов от начала массива до индекса i больше или равна сумме элементов от i + 1 до конца, при этом правая часть не должна быть пустой
#leetcode2270 | #medium #prefixsum
Please open Telegram to view this post
VIEW IN TELEGRAM
Time: O(n)
Space: O(1)
Please open Telegram to view this post
VIEW IN TELEGRAM
3355. Zero Array Transformation I
Company:
Для каждого queries[i] уменьшите все элементы подмассива в диапазоне [li, ri] на 1, при этом элемент не может стать меньше нуля.
Верните true, если после обработки всех запросов все элементы в массиве будут равны 0
#leetcode3355 | #medium #prefixsum
Please open Telegram to view this post
VIEW IN TELEGRAM
Time: O(n + m)
Space: O(n)
Please open Telegram to view this post
VIEW IN TELEGRAM