LeetCoding — различия между версиями

Материал из DISCOPAL
Перейти к: навигация, поиск
(Жадные алгоритмы)
(Содержимое страницы заменено на «{{CodingQuest}} * [[{{PAGENAME}}/Динамическое_программирование]] * {{PAGENAME}}/Сортировк…»)
 
(не показаны 4 промежуточные версии этого же участника)
Строка 1: Строка 1:
* [[/Видеопояснение]]
+
{{CodingQuest}}
Квест, обеспечивает полную свободу и при этом независимость — каждый берет свою собственную задачу (или несколько) и пытаетесь их решить. Не надо решать решенные уже задачи — это, по понятным, причинам, не засчитывается (для себя — конечно, сколько угодно).
+
 
+
Не надо так: «…все задачи, что я решил с leetcode были в категории ранее решённых, но при этом задачи я решал самостоятельно, и мое решение совпадает с решениями других участников…» ©
+
 
+
Выбрав задачу, подпишите сбоку четыремя тильдами «<nowiki>~~~~</nowiki>», это раскроется в вашу подпись (ссылку на вашу страницу) и будет означать, что вы ее застолбили за собой.
+
 
+
Когда будет решение — добавьте вместо него ссылку. Если «блокировка» висит больше месяца, а решения не появилось — могу убрать. Решение оформлять на подстраницах личной страницы.
+
В целом, посмотрите кучу уже оформленных решений и делайте также.
+
 
+
Обычно, за решение дается 3 очка, но внутри одной темы, все они суммируются по «очень научной формуле»
+
<m>\ln(\sum_{t}p_t)</m>, где <math>p_t</math> — эти самые 3 очка, но возможно будут и более легкие задачи по 2 очка или 1 очку.
+
Т.е. выгодно решить несколько задач в каждой из тем, вместо того, чтобы выгрызать только одну тему, насобачившись решать определенные задачи.
+
 
+
Зеленой строчкой покрашено проверенное и учтенное решение (проверяю регулярно).
+
 
+
Обратите внимание — решение должно проходить все тесты, т.е. вы должны нажать кнопку «Submit», а не только кнопку «Run Code» которая запускает один тест (или выбранные вами входные данные).
+
Ну и в коде не должно быть адовых хаков в духе
+
<code-python>
+
if input = UglyTestCaseICannotHandleButIKnowAnswer:
+
  return KnownAnswerForThisCase
+
</code-python>
+
 
+
{{!|Не надо добавлять решения в категорию «На проверку» — это для теоретических задач было}}. Здесь важно, чтобы была ссылка на ваше решение на этой странице, и чтобы там не было претензий («не компилируется», «не проходит тесты») и т.п. Очень желательна на странице решения ссылка на саму LeetCoдовскую задачу.
+
  
 
* [[{{PAGENAME}}/Динамическое_программирование]]
 
* [[{{PAGENAME}}/Динамическое_программирование]]
Строка 30: Строка 7:
 
* [[{{PAGENAME}}/Жадные алгоритмы]]
 
* [[{{PAGENAME}}/Жадные алгоритмы]]
  
== Вероятностные алгоритмы ==
+
* [[{{PAGENAME}}/Вероятностные алгоритмы]]
 
+
{{leetcode|random-pick-with-blacklist|Random Pick with Blacklist|[[Участник:StasFomin|StasFomin]] 09:12, 27 ноября 2019 (MSK)}}
+
{{ps}} [[Участник:F.Nikitin/RandomPickWithBlacklist|F.Nikitin/RandomPickWithBlacklist]]
+
 
+
{{leetcode|implement-rand10-using-rand7|Implement Rand10() Using Rand7()|[[Участник:StasFomin|StasFomin]] 19:04, 7 ноября 2019 (MSK)}}
+
{{ps}} [[Участник:Alvant/TaskImplementRand10UsingRand7|Alvant/TaskImplementRand10UsingRand7]]
+
 
+
{{leetcode|random-pick-with-weight|Random Pick with Weight|[[Участник:StasFomin|StasFomin]] 09:12, 27 ноября 2019 (MSK)}}
+
{{ps}} [[Участник:F.Nikitin/RandomPickWithWeight|F.Nikitin/RandomPickWithWeight]]
+
 
+
{{leetcode|random-flip-matrix|Random Flip Matrix|[[Участник:StasFomin|StasFomin]] 09:12, 27 ноября 2019 (MSK)}}
+
{{ps}} [[Участник:Alvant/TaskRandomFlipMatrix|Alvant/TaskRandomFlipMatrix]]
+
 
+
{{leetcode|random-point-in-non-overlapping-rectangles|Random Point in Non-overlapping Rectangles|[[Участник:StasFomin|StasFomin]] 19:04, 7 ноября 2019 (MSK)}}
+
{{ps}} [[Участник:Lenaermakova/Random Point in Non-overlapping Rectangles|Random Point in Non-overlapping Rectangles]]
+
 
+
{{leetcode|generate-random-point-in-a-circle|Generate Random Point in a Circle|[[Участник:StasFomin|StasFomin]] 13:10, 9 декабря 2019 (MSK)}}
+
{{ps}} [[Участник:Alex.Galtseva/GenerateRandomPointsInCircle|Alex.Galtseva/GenerateRandomPointsInCircle]]
+
 
+
{{leetcode|lru-cache|LRU Cache|[[Участник:StasFomin|StasFomin]] 11:28, 22 декабря 2020 (MSK)}}
+
{{ps}} [[Участник: Ковальков_Антон_М05-903б/LRU_Cache| Ковальков_Антон_М05-903б/LRU_Cache]]
+
[[Участник:StasFomin|StasFomin]] 11:28, 22 декабря 2020 (MSK): Слабо ложится в тему вероятностных алгоритмов, но ладно, пусть пока будет.
+
 
+
== Графы ==
+
=== 3-ball ===
+
{{leetcode|redundant-connection-ii|Redundant Connection II|[[Участник:StasFomin|StasFomin]] 15:30, 25 мая 2020 (MSK)}}
+
{{ps}} [[Участник:Turk0v/Redundant_Connection_II|Turk0v/Redundant_Connection_II]]
+
 
+
{{leetcode|binary-tree-maximum-path-sum|Binary Tree Maximum Path Sum|[[Участник:StasFomin|StasFomin]] 12:04, 22 декабря 2020 (MSK)}}
+
{{ps}} [[Участник:Ковальков_Антон_М05-903б/Binary_Tree_Maximum_Path_Sum|Ковальков_Антон_М05-903б/Binary_Tree_Maximum_Path_Sum]]
+
 
+
{{leetcode|k-similar-strings|K-Similar Strings|[[Участник:StasFomin|StasFomin]] 15:30, 25 мая 2020 (MSK)}}
+
{{ps}} [[Участник:Turk0v/K-Similar_Strings|Turk0v/K-Similar_Strings]]
+
 
+
{{leetcode|minimum-cost-to-connect-two-groups-of-points|Minimum Cost to Connect Two Groups of Points}}
+
{{ps}}[[Участник:ArtemTovkes/minimum-cost-to-connect-two-groups-of-points]]
+
 
+
{{leetcode|minimize-malware-spread-ii|Minimize Malware Spread II|[[Участник:StasFomin|StasFomin]] 09:12, 27 ноября 2019 (MSK)}}
+
{{ps}} [[Участник:F.Nikitin/MinMalwareSpread|F.Nikitin/MinMalwareSpread]]
+
 
+
{{leetcode|sort-items-by-groups-respecting-dependencies|Sort Items by Groups Respecting Dependencies|[[Участник:StasFomin|StasFomin]] 13:13, 9 декабря 2019 (MSK)}}
+
{{ps}} [[Участник:Danillich/SortItemsbyGroupsRespectingDependencies|Danillich/SortItemsbyGroupsRespectingDependencies]]
+
 
+
{{leetcode|number-of-squareful-arrays|Number of Squareful Arrays|[[Участник:StasFomin|StasFomin]] 09:12, 27 ноября 2019 (MSK)}}
+
{{ps}} [[Участник:F.Nikitin/NumSquarefulPerms|F.Nikitin/NumSquarefulPerms]]
+
 
+
{{leetcode|couples-holding-hands|Couples Holding Hands|[[Участник:StasFomin|StasFomin]] 09:12, 27 ноября 2019 (MSK)}}
+
{{ps}} [[Участник:F.Nikitin/MinSwapsCouples|F.Nikitin/MinSwapsCouples]]
+
 
+
{{leetcode|longest-increasing-path-in-a-matrix|Longest Increasing Path in a Matrix|[[Участник:StasFomin|StasFomin]] 22:56, 25 мая 2020 (MSK)}}
+
{{ps}} [[Участник:Mugadzhir/longest-increasing-path-in-a-matrix]]
+
 
+
{{leetcode|similar-string-groups|Similar String Groups|[[Участник:StasFomin|StasFomin]] 20:34, 25 мая 2020 (MSK)}}
+
{{ps}} [[Участник:Timatizak/similarstringgroups]]
+
 
+
{{leetcode|parallel-courses-ii|Parallel Courses II|[[Участник:StasFomin|StasFomin]] 15:21, 28 декабря 2020 (MSK)}}
+
{{ps}} [[Участник:Evgin/parallel courses ii]]
+
 
+
{{leetcode|graph-connectivity-with-threshold|Graph Connectivity With Threshold|[[Участник:StasFomin|StasFomin]] 16:17, 30 декабря 2020 (MSK)}}
+
{{nps}} [[Участник:Evgin/graph connectivity with threshold rs]]
+
 
+
=== graph-2-ball ===
+
По два бала за.
+
 
+
{{leetcode|clone-graph|Clone Graph|[[Участник:StasFomin|StasFomin]] 13:15, 9 декабря 2019 (MSK)}}
+
{{ps}} [[Участник:F.Nikitin/CloneGraph|F.Nikitin/CloneGraph]]
+
 
+
{{leetcode|maximal-network-rank|Maximal Network Rank}}
+
{{ps}}[[Участник:ArtemTovkes/maximal-network-rank]]
+
 
+
{{leetcode|minimum-height-trees|Minimum Height Trees|[[Участник:StasFomin|StasFomin]] 13:23, 9 декабря 2019 (MSK)}}
+
{{ps}} [[Участник:F.Nikitin/FindMinHeightTree|F.Nikitin/FindMinHeightTree]]
+
 
+
{{leetcode|reconstruct-itinerary|Reconstruct Itinerary|[[Участник:StasFomin|StasFomin]] 20:23, 20 декабря 2019 (MSK)}}
+
{{ps}} [[Участник:Polina Potapova/reconstruct-itinerary]]
+
 
+
{{leetcode|shortest-path-with-alternating-colors|Shortest Path with Alternating Colors|[[Участник:StasFomin|StasFomin]] 20:12, 20 мая 2020 (MSK)}}
+
{{nps}} [[Участник:Larin.dv/Shortest Path with Alternating Colors]] 11:33, 30 апреля 2020 (MSK)
+
{{ps}} [[Участник:Novitskiy97/Shortest Path with Alternating Colors]]
+
 
+
{{leetcode|course-schedule-ii|Course Schedule II|[[Участник:StasFomin|StasFomin]] 13:26, 9 декабря 2019 (MSK)}}
+
{{ps}} [[Участник:Plague_rat/Course_Schedule_II]]
+
 
+
{{leetcode|course-schedule|Course Schedule|[[Участник:StasFomin|StasFomin]] 13:26, 9 декабря 2019 (MSK)}}
+
{{ps}} [[Участник:Plague_rat/Course_Schedule]]
+
 
+
{{leetcode|as-far-from-land-as-possible|As Far from Land as Possible|[[Участник:StasFomin|StasFomin]] 20:23, 20 декабря 2019 (MSK)}}
+
{{ps}} [[Участник:Polina Potapova/as-far-from-land-as-possible]]
+
 
+
{{leetcode|satisfiability-of-equality-equations|Satisfiability of Equality Equations|[[Участник:StasFomin|StasFomin]] 16:29, 16 декабря 2019 (MSK)}}
+
{{ps}} [[Участник:D.feldman/satisfiability-of-equality-equations|Участник:D.feldman/satisfiability-of-equality-equations]]
+
 
+
{{leetcode|network-delay-time|Network Delay Time|[[Участник:StasFomin|StasFomin]] 13:26, 9 декабря 2019 (MSK)}}
+
{{ps}} [[Участник:Plague_rat/Network_Delay_Time]]
+
 
+
{{leetcode|is-graph-bipartite|Is Graph Bipartite?|[[Участник:StasFomin|StasFomin]] 20:12, 20 мая 2020 (MSK)}}
+
{{ps}} [[Участник:Larin.dv/Is Graph Bipartite]]
+
 
+
{{leetcode|find-eventual-safe-states|Find Eventual Safe States|[[Участник:StasFomin|StasFomin]] 16:53, 26 декабря 2019 (MSK)}}
+
{{ps}} [[Участник:Alexander Denisenko/Eventual safe states]]
+
 
+
{{leetcode|number-of-connected-components-in-an-undirected-graph|Number of Connected Components in an Undirected Graph}} 
+
{{ps}} [[Участник:Gadaevtamaz/Number of Connected Components in an Undirected Graph|Гадаев Тамаз/Number of Connected Components in an Undirected Graph|]]
+
 
+
{{leetcode|redundant-connection|Redundant Connection|[[Участник:StasFomin|StasFomin]] 20:23, 20 декабря 2019 (MSK)}}
+
{{ps}} [[Участник:Polina Potapova/redundant-connection]]
+
 
+
{{leetcode|count-servers-that-communicate|Count Servers that Communicate|[[Участник:StasFomin|StasFomin]] 13:28, 9 декабря 2019 (MSK)}}
+
{{ps}} [[Участник:Plague_rat/Count_Servers_that_Communicate]]
+
 
+
{{leetcode|keys-and-rooms|Keys and Rooms|[[Участник:StasFomin|StasFomin]] 13:30, 9 декабря 2019 (MSK)}}
+
{{ps}} [[Участник:Plague_rat/Keys_and_Rooms]]
+
 
+
{{leetcode|partition-array-for-maximum-sum|Partition Array for Maximum Sum|[[Участник:StasFomin|StasFomin]] 17:14, 13 декабря 2019 (MSK)}}
+
{{ps}} [[Участник:ArthurSamuelyan/Partition_Array_For_Maximum_Sum|ArthurSamuelyan/Partition_Array_For_Maximum_Sum]]
+
 
+
{{leetcode|regions-cut-by-slashes|Regions Cut By Slashes|[[Участник:StasFomin|StasFomin]] 17:14, 13 декабря 2019 (MSK)}}
+
{{ps}} [[Участник:ArthurSamuelyan/Regions_Cut_By_Slashes|ArthurSamuelyan/Regions_Cut_By_Slashes]]
+
 
+
{{leetcode|maximum-level-sum-of-a-binary-tree|Maximum Level Sum of a Binary Tree|[[Участник:StasFomin|StasFomin]] 13:33, 9 декабря 2019 (MSK)}}
+
{{ps}} [[Участник:Lenaermakova/_Maximum_Level_Sum_of_a_Binary_Tree|Lenaermakova/_Maximum_Level_Sum_of_a_Binary_Tree]]
+
 
+
{{leetcode|find-the-city-with-the-smallest-number-of-neighbors-at-a-threshold-distance|Find the City With the Smallest Number of Neighbors at a Threshold Distance|[[Участник:StasFomin|StasFomin]] 15:30, 25 мая 2020 (MSK)}}
+
{{ps}} [[Участник:Turk0v/Find the City With the Smallest Number of Neighbors at a Threshold Distance|Turk0v/Find the City With the Smallest Number of Neighbors at a Threshold Distance]]
+
 
+
{{leetcode|evaluate-division|Evaluate Division|[[Участник:StasFomin|StasFomin]] 15:30, 25 мая 2020 (MSK)}}
+
{{ps}} [[Участник:Turk0v/Evaluate Division|Turk0v/Evaluate Division]]
+
 
+
{{leetcode|validate-binary-tree-nodes|Validate Binary Tree Nodes|[[Участник:StasFomin|StasFomin]] 20:25, 25 мая 2020 (MSK)}}
+
{{nps}} [[Участник:S1td1kov/ValidateBinaryTreeNodes]]
+
{{ps}} [[Участник:Novitskiy97/Validate Binary Tree Nodes]]
+
 
+
{{leetcode|jump-game-iii|Jump Game III|[[Участник:StasFomin|StasFomin]] 20:25, 25 мая 2020 (MSK)}}
+
{{ps}} [[Участник:Mugadzhir/jump-game-iii]]
+
 
+
{{leetcode|design-linked-list|Design Linked List|[[Участник:StasFomin|StasFomin]] 11:59, 22 декабря 2020 (MSK)}}
+
{{ps}} [[Участник:Ковальков_Антон_М05-903б/Design_Linked_List|Ковальков_Антон_М05-903б/Design_Linked_List]]
+
[[Участник:StasFomin|StasFomin]] 11:59, 22 декабря 2020 (MSK): Записывать связные списки в задачи про графах… ну это такое хакерство. Потом что-нибудь с этим придумать.
+
 
+
 
+
{{leetcode|construct-binary-search-tree-from-preorder-traversal|Construct Binary Search Tree from Preorder Traversal}}
+
{{ps}} [[Участник:Ковальков_Антон_М05-903б/Construct_Binary_Search_Tree_from_Preorder_Traversal|Ковальков_Антон_М05-903б/Construct_Binary_Search_Tree_from_Preorder_Traversal]]
+
 
+
{{leetcode|sort-integers-by-the-power-value|Sort Integers by The Power Value|[[Участник:StasFomin|StasFomin]] 15:30, 25 мая 2020 (MSK)}}
+
{{ps}} [[Участник:Turk0v/Sort Integers by The Power Value|Turk0v/Sort Integers by The Power Value]]
+
 
+
{{leetcode|number-of-islands|Number of Islands|[[Участник:StasFomin|StasFomin]] 12:04, 22 декабря 2020 (MSK)}}
+
{{ps}} [[Участник:Ковальков_Антон_М05-903б/Number_of_Islands|Ковальков_Антон_М05-903б/Number_of_Islands]]
+
 
+
{{leetcode|path-with-maximum-probability|Path with Maximum Probability}}
+
{{ps}}[[Участник:Timplech/path-with-maximum-probability]]
+
 
+
=== Easy ===
+
 
+
{{leetcode|flower-planting-with-no-adjacent|Flower Planting With No Adjacent|[[Участник:StasFomin|StasFomin]] 20:22, 25 мая 2020 (MSK)}}
+
{{nps}} [[Участник:S1td1kov/FlowerPlantingWithNoAdjacent]]
+
{{ps}} [[Участник:Novitskiy97/Flower Planting with no Adjacent]]
+
 
+
{{leetcode|find-the-town-judge|Find the Town Judge|[[Участник:StasFomin|StasFomin]] 20:22, 25 мая 2020 (MSK)}}
+
{{nps}} [[Участник:S1td1kov/FindTheTownJudge]]
+
{{ps}} [[Участник:Novitskiy97/Find the Town Judge]]
+
 
+
 
+
{{leetcode|minimum-number-of-vertices-to-reach-all-nodes|Minimum Number of Vertices to Reach All Nodes}}
+
{{ps}}[[Участник:Timplech/minimum-number-of-vertices-to-reach-all-nodes]]
+
 
+
== Теория чисел ==
+
 
+
{{leetcode|bitwise-and-of-numbers-range|Bitwise AND of Numbers Range|[[Участник:StasFomin|StasFomin]] 11:59, 22 декабря 2020 (MSK)}}
+
{{ps}} [[Участник:Ковальков_Антон_М05-903б/Bitwise_AND_of_Numbers_Range|Ковальков_Антон_М05-903б/Bitwise_AND_of_Numbers_Range]] {{needreclassify}}
+
  
{{leetcode|product-of-array-except-self|Product of Array Except Self|[[Участник:StasFomin|StasFomin]] 11:59, 22 декабря 2020 (MSK)}}
+
* [[{{PAGENAME}}/Графы]]
{{ps}} [[Участник:Ковальков_Антон_М05-903б/Product_of_Array_Except_Self|Ковальков_Антон_М05-903б/Product_of_Array_Except_Self]] {{needreclassify}}
+
  
{{leetcode|super-palindromes|Super Palindromes|[[Участник:StasFomin|StasFomin]] 15:21, 28 декабря 2020 (MSK)}}
+
* [[{{PAGENAME}}/Теория чисел]]
{{nps}} [[Участник:Evgin/super palindromes rs]]
+
{{ps}} [[Участник:Gadaevtamaz/Super Palindromes|Гадаев Тамаз/Super Palindromes]]
+

Текущая версия на 20:09, 11 марта 2021

Квест, обеспечивает полную свободу и при этом независимость — каждый берет свою собственную задачу (или несколько) и пытаетесь их решить. Не надо решать решенные уже задачи — это, по понятным, причинам, не засчитывается (для себя — конечно, сколько угодно).

Не надо так: «…все задачи, что я решил с spojcoding были в категории ранее решённых, но при этом задачи я решал самостоятельно, и мое решение совпадает с решениями других участников…» ©

Выбрав задачу, подпишите сбоку четыремя тильдами «~~~~», это раскроется в вашу подпись (ссылку на вашу страницу) и будет означать, что вы ее застолбили за собой. Если «блокировка» висит больше месяца, а решения не появилось — могу убрать.

Решение оформлять на подстраницах личной страницы.

Когда будет решение — добавьте вместо него ссылку, и привлеките внимание шаблоном {{checkme}} (новое решение, исправление старого, и т.п.) → Check-me-animated.gif

Как-то типа

{{checkme}} [[Участник:Kachanov vv/ACODE]]

В целом, посмотрите кучу уже оформленных решений, и делайте также. Можно посмотреть LeetCoding/Видеопояснение.

Обычно, за решение дается 3 очка, но внутри одной темы, все они суммируются по «очень научной формуле» , где — эти самые 3 очка. Т.е. выгодно решить несколько задач в каждой из тем, вместо того, чтобы выгрызать только одну тему, насобачившись решать определенные задачи.

Зеленой строчкой покрашено проверенное и учтенное решение (проверяю регулярно).

Обратите внимание — решение должно проходить все тесты, т.е. вы должны нажать кнопку «Submit», а не только кнопку «Run Code» которая запускает один тест (или выбранные вами входные данные). Ну и в коде не должно быть адовых хаков в духе

if input = UglyTestCaseICannotHandleButIKnowAnswer:
   return KnownAnswerForThisCase

Не надо добавлять решения в категорию «На проверку» — это для теоретических задач было. Здесь важно, чтобы была ссылка на ваше решение на этой странице, и чтобы там не было претензий («не компилируется», «не проходит тесты») и т.п. Очень желательна на странице решения ссылка на саму LeetCoдовскую задачу.

Можно решать уже решенные задачи, если для них нет решения на питоне. Решения на питоне помечены знаком * Python-logo-notext.svg, решения не на питоне → * Nopython-solution.svg. Т.е. можно попробовать понять решение ваших предшественников на каком-нибудь С++, и написать (скорее всего более компактное) решение на Python.