Skip to content

Commit d361476

Browse files
committed
update readme
1 parent 6b2a5be commit d361476

File tree

1 file changed

+6
-1
lines changed

1 file changed

+6
-1
lines changed

README.md

+6-1
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,11 @@
66

77
Кроме этого сформирую базу ссылок того что читал/смотрел/изучал.
88

9+
## Алгосы
10+
11+
- **KMP** — поиск подстроки в строке за O(m + n). Встретился в [28](https://github.com/MarshalX/LeetCode/blob/6b2a5be0d03e7b7219645f8841f24beba80f036c/main.cpp). [Брутфорс](https://github.com/MarshalX/LeetCode/blob/614c1ef638e04804b348ad9463c20f4e8378e32f/main.cpp) ушёл в TL. Алгос списал с псевдокода на вики: [Knuth–Morris–Pratt algorithm](https://en.wikipedia.org/wiki/Knuth%E2%80%93Morris%E2%80%93Pratt_algorithm).
12+
913
## Заметки
1014

11-
- В [1408](https://github.com/MarshalX/LeetCode/blob/58a7bf680ee220d3f61ae5646616178f0f790ddc/main.cpp) допустил ошибку при оценке временной сложности. Там не O(N^2\*L), а O(N\*L), где L сумма длин всех строк. Потому что несмотря на вложенный цикл мы выполняем поиск в строке за длину строку, а циклы порождают сравнение строки с каждой другой. Где каждую другую можно заменить на сумму длин всех строк (L). Поэтому оценка количество строк умноженное на сумму длин (N*L). Что меньше моей изначальной оценки, так как в условии задачи максимальная длинна строк 30, а количество слов 100.
15+
- В [1408](https://github.com/MarshalX/LeetCode/blob/58a7bf680ee220d3f61ae5646616178f0f790ddc/main.cpp) допустил ошибку при оценке временной сложности. Там не O(N^2\*L), а O(N\*L), где L сумма длин всех строк. Потому что несмотря на вложенный цикл мы выполняем поиск в строке за длину строку, а циклы порождают сравнение строки с каждой другой. Где каждую другую можно заменить на сумму длин всех строк (L). Поэтому оценка количество строк умноженное на сумму длин (N*L). Что меньше моей изначальной оценки, так как в условии задачи максимальная длинна строк 30, а количество слов 100.
16+
- Долго мучался с [11](https://github.com/MarshalX/LeetCode/blob/f96b815b378244118cc62b853dd1bc79579aad16/main.cpp) (бассейн с двумя бортиками). [Брутфорс](https://github.com/MarshalX/LeetCode/blob/eea774a355ef010ab415128eb5095d2616fdc5d6/main.cpp) конечно не зашёл, прочитал подсказки, частично дорешал, не справившись отловить баг пошёл в обсуждения к задаче. Посмотря на чужой код понял, что нафантазировал ненужные дополнительные условия ([diff](https://github.com/MarshalX/LeetCode/commit/f96b815b378244118cc62b853dd1bc79579aad16#diff-608d8de3fba954c50110b6d7386988f27295de845e9d7174e40095ba5efcf1bb)). В итоге списал с чужого кода, но свою ошибку понял (кажется).

0 commit comments

Comments
 (0)