Skip to content
/ LeetCode Public
forked from wisdompeak/LeetCode

This repository contains the solutions and explanations to the algorithm problems on LeetCode. Only medium or above are included. All are written in C++/Python and implemented by myself. The problems attempted multiple times are labelled with hyperlinks.

Notifications You must be signed in to change notification settings

ZKZ/LeetCode

 
 

Repository files navigation

My LeetCode Daily Problem & Contest Group: See rules and score board here

(If you are interested in joining this group, ping me guan.huifeng@gmail.com)

LeetCode难题代码和算法要点分析

目前分类目录:

003.Longest Substring Without Repeating Character (E+)
011.Container-With-Most-Water (M+)
015.3Sum (M)
016.3Sum-Closet (M)
018.4Sum (M)
259.3Sum-Smaller (M+)
030.Substring-with-Concatenation-of-All-Words (H)
075.Sort-Colors (M+)
076.Minimum Window Substring (M+)
026.Remove Duplicates from Sorted Array (H-)
080.Remove Duplicates from Sorted Array II (H)
209.Minimum-Size-Subarray-Sum (M)
088.Merge Sorted Array (M)
283.Move-Zeroes (M)
141.Linked-List-Cycle (E+)
142.Linked-List-Cycle-II (M+)
287.Find-the-Duplicate-Number (H)
340.Longest-Substring-with-At-Most-K-Distinct-Characters (H)
532.K-diff-Pairs-in-an-Array (H-)
360.Sort-Transformed-Array (M)
159.Longest-Substring-with-At-Most-Two-Distinct-Characters(H-)
611.Valid-Triangle-Number (M+)
713.Subarray-Product-Less-Than-K (M+)
992.Subarrays-with-K-Different-Integers (H-)
1004.Max-Consecutive-Ones-III (TBD)
1052.Grumpy-Bookstore-Owner (M+)
1234.Replace-the-Substring-for-Balanced-String (H-)

004.Median-of-Two-Sorted-Arrays (H)
154.Find-Minimum-in-Rotated-Sorted-Array-II (H-)    
033.Search-in-Rotated-Sorted-Array (M)
081.Search-in-Rotated-Sorted-Array-II (M)
034.Search-for-a-Range (M)
162.Find-Peak-Element (H-)
222.Count-Complete-Tree-Nodes (H-)
275.H-index II (H)
302.Smallest-Rectangle-Enclosing-Black-Pixels (M+)
410.Split-Array-Largest-Sum (H)
475.Heaters (H-)
483.Smallest-Good-Base (H)
029.Divide-Two-Integers (M+)
644.Maximum-Average-Subarray-II (H)
658.Find-K-Closest-Elements (H)
1102.Path-With-Maximum-Minimum-Value (H-)
1095.Find-in-Mountain-Array (TBD)
1157.Online-Majority-Element-In-Subarray (H-)
1201.Ugly-Number-III (TBD)
1231.Divide-Chocolate (TBD)

049.Group-Anagrams (M+)
149.Max-Points-on-a-Line (H)
166.Fraction-to-Recurring-Decimal (M)
170.Two-Sum-III-Data-structure-design (M)
392.Is-Subsequence (H-)
204.Count Primes (M)
274.H-Index (H)
325.Maximum-Size-Subarray-Sum-Equals-k (M)
409.Longest-Palindrome (M)
447.Number-of-Boomerangs (E+)
438.Find-All-Anagrams-in-a-String (M+)
525.Contiguous-Array (M)
356.Line-Reflection (H-)
594.Longest-Harmonious-Subsequence (M+)
532.K-diff-Pairs-in-an-Array (E+)
424.Longest-Repeating-Character-Replacement (H)
446.Arithmetic-Slices-II-Subsequence (H)
128.Longest-Consecutive-Sequence (H-)
753.Cracking-the-Safe (H)
930.Binary-Subarrays-With-Sum (H)
939.Minimum-Area-Rectangle (M+)
982.Triples-with-Bitwise-AND-Equal-To-Zero (M+) (TBD)
1074.Number-of-Submatrices-That-Sum-to-Target (M+)
1224.Maximum-Equal-Frequency (H-)

295.Find-Median-from-Data-Stream (M)
363.Max-Sum-of-Rectangle-No-Larger-Than-K (H)
352.Data-Stream-as-Disjoint-Intervals (H)
480.Sliding-Window-Median (H)
218.The-Skyline-Problem (H)
699.Falling-Squares (H)
715.Range-Module (H)
729.My-Calendar-I (M)
975.Odd-Even-Jump (H-)
1348.Tweet-Counts-Per-Frequency (H-)
1439. Find the Kth Smallest Sum of a Matrix With Sorted Rows (TBD)

270.Closest-Binary-Search-Tree-Value (M+)
095.Unique-Binary-Search-Trees-II (H)
094.Binary Tree Inorder Traversal (H-)
144.Binary-Tree-Preorder-Traversal (M+)
145.Binary-Tree-Postorder-Traversal (H-)
110.Balanced-Binary-Tree (M+)
124.Binary-Tree-Maximum-Path-Sum (M+)
222.Count-Complete-Tree-Nodes (M+)
236.Lowest-Common-Ancestor-of-a-Binary-Tree (H)
297.Serialize-and-Deserialize-Binary-Tree (H-)
105.Construct-Binary-Tree-from-Preorder-and-Inorder-Traversal (H-)
106.Construct-Binary-Tree-from-Inorder-and-Postorder-Traversal (M+)
099.Recover-Binary-Search-Tree (H)
114.Flatten-Binary-Tree-to-Linked-List (M+)
098.Validate-Binary-Search-Tree (M)
117.Populating Next Right Pointers in Each Node II (H)
156.Binary-Tree-Upside-Down (H)
285.Inorder-Successor-in-BST (M)
298.Binary-Tree-Longest-Consecutive Sequence (M+)
450.Delete-Node-in-a-BST (H)
437.Path-Sum-III (H-)
449.Serialize-and-Deserialize-BST (H)
333.Largest-BST-Subtree (H)
543.Diameter-of-Binary-Tree (M+)
572.Subtree-of-Another-Tree (M)
549.Binary-Tree-Longest-Consecutive-Sequence-II (M)
173.Binary-Search-Tree-Iterator (M)
545.Boundary-of-Binary-Tree (H-)
272.Closest-Binary-Search-Tree-Value-II (M+)
310.Minimum-Height-Trees (H-)
331.Verify-Preorder-Serialization-of-a-Binary-Tree (H)
226.Invert-Binary-Tree (M)
655.Print-Binary-Tree (M+)
501.Find-Mode-in-Binary-Search-Tree (M+)
558.Quad-Tree-Intersection (M+)
662.Maximum-Width-of-Binary-Tree (H-)
652.Find-Duplicate-Subtrees (M)
687.Longest-Univalue-Path (M+)
742.Closest-Leaf-in-a-Binary-Tree (H)
834.Sum-of-Distances-in-Tree (H)
863.All-Nodes-Distance-K-in-Binary-Tree (H-)
954.Check-Completeness-of-a-Binary-Tree (M+)
1028.Recover-a-Tree-From-Preorder-Traversal (H-)
1339. Maximum-Product-of-Splitted-Binary-Tree (TBD)
1483. Kth-Ancestor-of-a-Tree-Node (TBD)

307.Range-Sum-Query-Mutable (M)
370.Range-Addition (M+)
218.The-Skyline-Problem (H)
699.Falling-Squares (H)
715.Range-Module (H)
1157.Online-Majority-Element-In-Subarray (H)

[Binary_Index_Tree]

307.Range-Sum-Query-Mutable (M)

146.LRU-Cache (H-)
460.LFU Cache (H)
432.All-O-one-Data-Structure (H)
380.Insert-Delete-GetRandom-O(1) (M+)
381.Insert-Delete-GetRandom-O-1-Duplicates-allowed (H-)
716.Max-Stack (M+)
355.Design-Twitter (H)
535.Encode-and-Decode-TinyURL (M)
631.Design-Excel-Sum-Formula (H)
642.Design-Search-Autocomplete-System (M+)
895.Maximum-Frequency-Stack (H)
1172.Dinner-Plate-Stacks (H)
1381.Design-a-Stack-With-Increment-Operation (H-)

032.Longest-Valid-Parentheses (H)
155.Min-Stack (M)
225.Implement Stack using Queues (H-)
232.Implement-Queue-using-Stacks (H-)
255.Verify-Preorder-Sequence-in-Binary-Search-Tree (H)
341.Flatten-Nested-List-Iterator (M)
173.Binary-Search-Tree-Iterator (M)
536.Construct-Binary-Tree-from-String (M)
456.132-Pattern (H-)
636.Exclusive-Time-of-Functions (H-)
856.Score-of-Parentheses (M+)
946.Validate-Stack-Sequences(H-)
1209.Remove-All-Adjacent-Duplicates-in-String-II (M+)

239.Sliding-Window-Maximum (H)
862.Shortest-Subarray-with-Sum-at-Least-K (H)
1425.Constrained-Subsequence-Sum (H)
1438.Longest-Continuous-Subarray-With-Absolute-Diff-Less-Than-or-Equal-to-Limit (H)

004.Median-of-Two-Sorted-Arrays (H)
358.Rearrange-String-k-Distance-Apart (H-)
378.Kth-Smallest-Element-in-a-Sorted-Matrix (H-)
373.Find-K-Pairs-with-Smallest-Sums (H)
632.Smallest-Range (M)
642.Design-Search-Autocomplete-System (M+)
621.Task-Scheduler (H-)
774.Minimize-Max-Distance-to-Gas-Station (H)
1066.Campus-Bikes-II (H)

037.Sudoku-Solver (H-)
040.Combination-Sum-II (M+)
051.N-Queens (H)
417.Pacific-Atlantic-Water-Flow (M)
200.Number-of-Islands (M)
282.Expression-Add-Operators (H)
312.Burst-Balloons (H-)
399.Evaluate-Division (H-)
488.Zuma-Game (H-)
332.Reconstruct-Itinerary (H)
425.Word-Squares (H-)
465.Optimal-Account-Balancing (H)
803.Bricks-Falling-When-Hit (H)
959.Regions-Cut-By-Slashes (M+)

126.Word-Ladder-II (M+)
130.Surrounded-Regions (H-)
200.Number-of-Islands (H-)
407.Trapping-Rain-Water-II (H-)
778.Swim-in-Rising-Water (H-)
529.Minesweeper (M+)
637.Average-of-Levels-in-Binary-Tree (M)
675.Cut-Off-Trees-for-Golf-Event (M)
694.Number-of-Distinct-Islands (M+)
743.Network-Delay-Time (H)
785.Is-Graph-Bipartite (M+)
815.Bus-Routes (M+)
847.Shortest-Path-Visiting-All-Nodes (H-)
864.Shortest-Path-to-Get-All-Keys (H-)
928.Minimize-Malware-Spread-II (H-)
913.Cat-and-Mouse (H+)
1036.Escape-a-Large-Maze (H)
1245.Tree-Diameter (TBD)
1263.Minimum-Moves-to-Move-a-Box-to-Their-Target-Location (H)
1293.Shortest-Path-in-a-Grid-with-Obstacles-Elimination (TBD)
1298.Maximum-Candies-You-Can-Get-from-Boxes (TBD)
1345.Jump Game IV (TBD)
1368.Minimum Cost to Make at Least One Valid Path in a Grid (TBD)

208.Implement-Trie--Prefix-Tree (M+)
211.Add-and-Search-Word (H-)
421.Maximum XOR of Two Numbers in an Array (H)
648.Replace-Words (H)
588.Design-In-Memory-File-System (H-)
677.Map-Sum-Pairs (M)
676.Implement-Magic-Dictionary (H-)
212.Word-Search-II (H-)
745.Prefix-and-Suffix-Search (H-)
1268.Search-Suggestions-System (H-)

084.Largest-Rectangle-in-Histogram (H)
085.Maximal-Rectangle (H)
134.Gas-Station (H)
221.Maximal-Square (H)
239.Sliding-Window-Maximum (H)
300.Longest-Increasing-Subsequence (M+)
334.Increasing-Triplet-Subsequence (H-)
354.Russian-Doll-Envelopes
316.Remove Duplicate Letters (H)
045.Jump-Game-II (H)
229.Majority-Element-II (H)
659.Split-Array-into-Consecutive-Subsequences (H-)
484.Find-Permutation (H)
386.Lexicographical-Numbers (H)
440.K-th-Smallest-in-Lexicographical-Order (H)
621.Task-Scheduler (H-)
624.Maximum-Distance-in-Arrays (M)
665.Non-decreasing-Array (H-)
670.Maximum-Swap (M+)
678.Valid-Parenthesis-String (H)
321.Create-Maximum-Number (H)
135.Candy (M+)
649.Dota2-Senate (H)
330.Patching-Array (H)
650.2-Keys-Keyboard (M+)
683.K-Empty-Slots (H)
517.Super-Washing-Machines (H)
757.Set-Intersection-Size-At-Least-Two (H)
739.Daily-Temperatures (M+)
826.Most-Profit-Assigning-Work (M)
857.Minimum-Cost-to-Hire-K-Workers (H)
871.Minimum-Number-of-Refueling-Stops (H-)
881.Boats-to-Save-People (H-)
910.Smallest-Range-II (M+)
936.Stamping-The-Sequence (H)
948.Bag-of-Tokens (H-)
968.Binary-Tree-Cameras (H)
995.Minimum-Number-of-K-Consecutive-Bit-Flips (H-)
1040.Moving-Stones-Until-Consecutive-II (H)
1121.Divide Array Into Increasing Sequences (TBD)
1191.K-Concatenation-Maximum-Sum (M+)
1253.Reconstruct-a-2-Row-Binary-Matrix (M)
1402.Reducing-Dishes (M)

061.Rotate-List
086.Partition-List (M)
142.Linked List Cycle II (M+)
109.Convert-Sorted-List-to-Binary-Search-Tree (M)
092.Reverse-Linked-List-II (H)
143.Reorder-List (H-)
457.Circular-Array-Loop (H-)
708.Insert-into-a-Cyclic-Sorted-List (H-)

264.Ugly-Number-II (M+)
265.Paint-House-II (H)
139.Word-Break (M+)
091.Decode-Ways (M)
639.Decode-Ways-II (H)
629.K-Inverse-Pairs-Array (H)
634.Find-the-Derangement-of-An-Array (H)
221.Maximal-Square (H-)
1277.Count-Square-Submatrices-with-All-Ones (M+)
600.Non-negative-Integers-without-Consecutive-Ones (H)
656.Coin-Path (H-)
152.Maximum-Product-Subarray (M+)
818.Race-Car (H)
377.Combination-Sum-IV (M)
132.Palindrome-Partitioning-II (H-)
837.New-21-Game (H-)
887.Super-Egg-Drop (H)
920.Number-of-Music-Playlists (H)
940.Distinct-Subsequences-II (H)
446.Arithmetic-Slices-II-Subsequence (H-)
1027.Longest-Arithmetic-Sequence (M+)
1259.Handshakes-That-Don't-Cross (M+)
1269.Number-of-Ways-to-Stay-in-the-Same-Place-After-Some-Steps (M+)
1316.Distinct-Echo-Substrings (M+)
1340.Jump-Game-V (M+)
1420.Build-Array-Where-You-Can-Find-The-Maximum-Exactly-K-Comparisons (H-)
1444. Number of Ways of Cutting a Pizza (TBD)

136.Single-Number (M)
137.Single-Number-II (H-)
260.Single-Number-III (H)
371.Sum-of-Two-Integers (H)
318.Maximum-Product-of-Word-Lengths (M+)
342.Power-of-Four (H)
1461.Check-If-a-String-Contains-All-Binary-Codes-of-Size-K (TBD)

  • XOR
  1. XOR Queries of a Subarray (TBD)
  2. Count Triplets That Can Form Two Arrays of Equal XOR (TBD)

315.Count-of-Smaller-Numbers-After-Self (H-)
327.Count-of-Range-Sum (H-)
493.Reverse-Pairs (M+)

005.Longest-Palindromic-Substring (H)
006.ZigZag-Conversion (M+)
336.Palindrome-Pairs (H-)
388.Longest-Absolute-File-Path (M+)
408.Valid-Word-Abbreviation (M)
411.Minimum-Unique-Word-Abbreviation (H)
418.Sentence-Screen-Fitting (M+)
527.Word-Abbreviation (M+)
647.Palindromic-Substrings (M+)
556.Next Greater Element III (H-)
616.Add-Bold-Tag-in-String (M)
467.Unique-Substrings-in-Wraparound-String (H-)
564.Find-the-Closest-Palindrome (H)
722.Remove-Comments (H)
736.Parse-Lisp-Expression (H-)
844.Backspace-String-Compare (M+)

041.First-Missing-Positive (H)
164.Maximum-Gap (H)
581.shortest-unsorted-continuous-subarray (M+)
215.Kth-Largest-Element-in-an-Array (M)
275.H-Index-II (M+)
406.Queue-Reconstruction-by-Height (M+)
442.Find-All-Duplicates-in-an-Array (M+)
448.Find-All-Numbers-Disappeared-in-an-Array (M+)
731.My-Calendar-II (M+)
452.Minimum-Number-of-Arrows-to-Burst-Balloons (H-)
435.Non-overlapping-Intervals (M+)
1024.Video-Stitching (M+)
1326.Minimum-Number-of-Taps-to-Open-to-Water-a-Garden (TBD)
1235.Maximum-Profit-in-Job-Scheduling (H-)
1268.Search-Suggestions-System (H-)

[Sweep Line]

252.Meeting-Rooms (M)
253.Meeting-Rooms-II (M+)
056.Merge-Intervals (M)
057.Insert-Intervals (M)
732.My-Calendar-III (M)
759.Employee-Free-Time (M+)

547.Friend-Circles (M)
200.Number-of-Islands (H-)
305.Number-of-Islands-II (H-)
130.Surrounded-Regions (H-)
128.Longest-Consecutive-Sequence (H-)
684.Redundant-Connection (M)
685.Redundant-Connection-II (H)
721.Accounts-Merge (M+)
765.Couples-Holding-Hands (H-)
785.Is-Graph-Bipartite (M+)
924.Minimize-Malware-Spread (H-)
947.Most-Stones-Removed-with-Same-Row-or-Column (M+)
952.Largest-Component-Size-by-Common-Factor (H)
959.Regions-Cut-By-Slashes (H-)
990.Satisfiability-of-Equality-Equations (M+)
1101.The-Earliest-Moment-When-Everyone-Become-Friends (M+)
1202.Smallest-String-With-Swaps (M+)
1319.Number-of-Operations-to-Make-Network-Connected (M+)

133.Clone-Graph (M+)
213.House-Robber-II (H-)
241.Different-Ways-to-Add-Parentheses (H-)
390.Elimination-Game (H)
395.Longest-Substring-with-At-Least-K-Repeating-Characters (H)
397.Integer-Replacement (M+)
679.24-Game (H)
761.Special-Binary-String (H)
779.K-th-Symbol-in-Grammar (M)
780.Reaching-Points (H-)
808.Soup-Servings (H)
877.Stone-Game (M+)
880.Decoded-String-at-Index (H-)
902.Numbers-At-Most-N-Given-Digit-Set (M)
932.Beautiful-Array (H-)
964.Least-Operators-to-Express-Number (H)
991.Broken-Calculator (M)
1088.Confusing-Number-II (H)
1274.Number-of-Ships-in-a-Rectangle (M)

  • Min-Max Strategy
    1140.Stone-Game-II
    1406.Stone-Game-III (TBD)

Graph

332.Reconstruct-Itinerary (H)
753.Cracking-the-Safe (H)
1192.Critical-Connections-in-a-Network (H)
1334.Find-the-City-With-the-Smallest-Number-of-Neighbors-at-a-Threshold-Distance (TBD)
1361.Validate-Binary-Tree-Nodes (TBD)

089.Gray-Code (M+)
233.Number-of-Digit-One (H-)
296.Best-Meeting-Point (M+)
335.Self-Crossing (H)
365.Water-and-Jug-Problem (H)
343.Integer-Break (M)
458.Poor-Pigs (H)
400.n-th-digit (M)
672.Bulb-Switcher-II (H)
754.Reach-a-Number (H)
829.Consecutive-Numbers-Sum (M)
878.Nth-Magical-Number (M+)
883.Projection-Area-of-3D-Shapes (E+)
891.Sum-of-Subsequence-Widths (M+)
899.Orderly-Queue (M)
963.Minimum-Area-Rectangle-II (H-)
964.Least-Operators-to-Express-Number (H)
972.Equal-Rational-Numbers (H)
1012.Numbers-With-Repeated-Digits (H-)
1017.Convert-to-Base--2 (M+)
1073.Adding-Two-Negabinary-Numbers (H-)
1025.Divisor-Game (M)
1040.Moving-Stones-Until-Consecutive-II (H)
1015.Smallest-Integer-Divisible-by-K (M+)
1103.Distribute-Candies-to-People (M+)
1131.Maximum-of-Absolute-Value-Expression (H-)
1330.Reverse-Subarray-To-Maximize-Array-Value (TBD)
1250.Check-If-It-Is-a-Good-Array (M+)

[Geometry]

223.Rectangle-Area (M+)
1401.Circle-and-Rectangle-Overlapping (H)
1453.Maximum-Number-of-Darts-Inside-of-a-Circular-Dartboard (H)

[Random Pick Topic]

382.Linked-List-Random-Node (H)
470.Implement-Rand10()-Using-Rand7() (M+)
478.Generate-Random-Point-in-a-Circle (H-)
497.Random-Point-in-Non-overlapping-Rectangles (M+)
519.Random-Flip-Matrix (H-)
528.Random-Pick-with-Weight (H-)
710.Random-Pick-with-Blacklist (M+)
1227.Airplane-Seat-Assignment-Probability (M+)

[Combinatorics Topic]

046.Permutations (M+)
047.Permutations-II (H)
060.Permutation-Sequence (H)
077.Combinations (H-)
1286.Iterator-for-Combination (M+)
1359.Count-All-Valid-Pickup-and-Delivery-Options (M+)
1467.Probability-of-a-Two-Boxes-Having-The-Same-Number-of-Distinct-Balls (H-)

007.Reverse-Integer (M)
048.Rotate-Image (M+)
065.Valid-Number (H-)
158.Read-N-Characters-Given-Read4-II-Call-multiple-times (H)
240.Search-a-2D-Matrix-II (M+)
311.Sparse-Matrix-Multiplication (M)
324.Wiggle-Sort-II (M)
593.Valid-Square (H)
168.Excel-Sheet-Column-Title (H)
453.Minimum-Moves-to-Equal-Array-Elements (M)
587.Erect-the-Fence (H)
087.Scramble-String (H)
391.Perfect-Rectangle (H)
645.Set-Mismatch (H)
423.Reconstruct-Original-Digits-from-English (H-)
335.Self-Crossing (H)
479.Largest-Palindrome-Product (M+)
689.Maximum-Sum-of-3-Non-Overlapping-Subarrays (M+)
782.Transform-to-Chessboard (H+)
466.Count-The-Repetitions (H)
810.Chalkboard-XOR-Game (H)
420.Strong-Password-Checker (H)
850.Rectangle-Area-II (H-)
775.Global-and-Local-Inversions (M)
794.Valid-Tic-Tac-Toe-State (M+)
798.Smallest-Rotation-with-Highest-Score (H)
825.Friends-Of-Appropriate-Ages (M+)
835.Image-Overlap (H)
855.Exam-Room (M+)
858.Mirror-Reflection (H)
866.Prime-Palindrome (H-)
918.Maximum-Sum-Circular-Subarray (H-)
906.Super-Palindromes (H-)
927.Three-Equal-Parts (M)
1067.Digit-Count-in-Range (H)
1109.Corporate-Flight-Bookings (M)
1183.Maximum-Number-of-Ones (H)
1262.Greatest-Sum-Divisible-by-Three (TBD)
1267.Count-Servers-that-Communicate (M+)
1272.Remove-Interval (TBD)
1284.Minimum-Number-of-Flips-to-Convert-Binary-Matrix-to-Zero-Matrix (TBD)
1352.Product-of-the-Last-K-Numbers (TBD)
1354.Construct-Target-Array-With-Multiple-Sums (TBD)
1262.Greatest-Sum-Divisible-by-Three (TBD)
1363.Largest-Multiple-of-Three (TBD)
1452.People-Whose-List-of-Favorite-Companies-Is-Not-a-Subset-of-Another-List (TBD)

About

This repository contains the solutions and explanations to the algorithm problems on LeetCode. Only medium or above are included. All are written in C++/Python and implemented by myself. The problems attempted multiple times are labelled with hyperlinks.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 95.0%
  • Python 5.0%