Skip to content

Latest commit

 

History

History
324 lines (321 loc) · 37.4 KB

File metadata and controls

324 lines (321 loc) · 37.4 KB

LeetCode Python Solutions

A collection of LeetCode problems implemented in Python with detailed complexity analysis and explanations.

Solutions

# Problem Difficulty Pattern Time Space
1 Two Sum Easy Hash Map O(n) O(n)
2 Add Two Numbers Medium Two Pointers O(n) O(1)
3 Longest Substring Without Repeating Characters Medium Sliding Window O(n) O(1)
4 Median of Two Sorted Arrays Hard Binary Search O(n) O(1)
5 Longest Palindromic Substring Medium Array / General O(n) O(1)
6 Zigzag Conversion Medium Array / General O(n) O(1)
8 String to Integer (atoi) Medium Bit Manipulation O(n) O(1)
9 Palindrome Number Easy Two Pointers O(n) O(1)
13 Roman to Integer Easy Prefix Sum O(n) O(n)
14 Longest Common Prefix Easy Prefix Sum O(n) O(n)
21 Merge Two Sorted Lists Easy Two Pointers O(n) O(1)
23 Merge k Sorted Lists Hard Two Pointers O(n) O(1)
24 Swap Nodes in Pairs Medium Two Pointers O(n) O(1)
25 Reverse Nodes in k-Group Hard Two Pointers O(n) O(1)
26 Remove Duplicates from Sorted Array Easy Array / General O(n) O(1)
27 Remove Element Easy Array / General O(n) O(1)
28 Find the Index of the First Occurrence in a String Easy Stack & Queue O(n) O(n)
29 Divide Two Integers Medium Bit Manipulation O(n) O(1)
30 Substring with Concatenation of All Words Hard Sliding Window O(n) O(1)
31 Next Permutation Medium Backtracking O(n) O(1)
32 Longest Valid Parentheses Hard Stack & Queue O(n) O(n)
34 Find First and Last Position of Element in Sorted Array Medium Binary Search O(log n) O(1)
35 Search Insert Position Easy Binary Search O(log n) O(1)
36 Valid Sudoku Medium Array / General O(n) O(1)
37 Sudoku Solver Hard Array / General O(n) O(1)
38 Count and Say Medium Tree & Graph O(n) O(n)
39 Combination Sum Medium Backtracking O(n) O(1)
40 Combination Sum II Medium Backtracking O(n) O(1)
41 First Missing Positive Hard Array / General O(n) O(1)
42 Trapping Rain Water Hard Array / General O(n) O(1)
43 Multiply Strings Medium Array / General O(n) O(1)
44 Wildcard Matching Hard Array / General O(n) O(1)
45 Jump Game II Medium Array / General O(n) O(1)
46 Permutations Medium Backtracking O(n) O(1)
47 Permutations II Medium Backtracking O(n) O(1)
49 Group Anagrams Medium Hash Map O(n) O(n)
50 Pow(x, n) Medium Tree & Graph O(n) O(n)
51 N-Queens Hard Tree & Graph O(n) O(n)
52 N-Queens II Hard Array / General O(n) O(1)
53 Maximum Subarray Medium Tree & Graph O(n) O(n)
54 Spiral Matrix Medium Tree & Graph O(n) O(n)
55 Jump Game Medium Array / General O(n) O(1)
56 Merge Intervals Medium Heap O(n) O(n)
57 Insert Interval Medium Heap O(n) O(n)
58 Length of Last Word Easy Hash Map O(n) O(n)
59 Spiral Matrix II Medium Tree & Graph O(n) O(n)
60 Permutation Sequence Hard Backtracking O(n) O(1)
62 Unique Paths Medium Tree & Graph O(n) O(n)
63 Unique Paths II Medium Tree & Graph O(n) O(n)
64 Minimum Path Sum Medium Tree & Graph O(n) O(n)
65 Valid Number Hard Array / General O(n) O(1)
66 Plus One Easy Array / General O(n) O(1)
67 Add Binary Easy Tree & Graph O(n) O(n)
68 Text Justification Hard Heap O(n) O(n)
69 Sqrt(x) Easy Array / General O(n) O(1)
70 Climbing Stairs Easy Array / General O(n) O(1)
71 Simplify Path Medium Tree & Graph O(n) O(n)
72 Edit Distance Medium Array / General O(n) O(1)
74 Search a 2D Matrix Medium Tree & Graph O(n) O(n)
85 Maximal Rectangle Hard Math & Logic O(n) O(1)
190 Reverse Bits Easy Bit Manipulation O(n) O(1)
301 Remove Invalid Parentheses Hard Stack & Queue O(n) O(n)
342 Power of Four Easy Array / General O(n) O(1)
344 Reverse String Easy Array / General O(n) O(1)
345 Reverse Vowels of a String Easy Array / General O(n) O(1)
349 Intersection of Two Arrays Easy Two Pointers O(n) O(1)
350 Intersection of Two Arrays II Easy Two Pointers O(n) O(1)
367 Valid Perfect Square Easy Array / General O(n) O(1)
374 Guess Number Higher or Lower Easy Array / General O(n) O(1)
383 Ransom Note Easy Array / General O(n) O(1)
387 First Unique Character in a String Easy Array / General O(n) O(1)
389 Find the Difference Easy Array / General O(n) O(1)
392 Is Subsequence Easy Dynamic Programming O(n) O(n)
401 Binary Watch Easy Tree & Graph O(n) O(n)
404 Sum of Left Leaves Easy Tree & Graph O(n) O(n)
405 Convert a Number to Hexadecimal Easy Hash Map O(n) O(n)
409 Longest Palindrome Easy Two Pointers O(n) O(1)
412 Fizz Buzz Easy Array / General O(n) O(1)
414 Third Maximum Number Easy Array / General O(n) O(1)
415 Add Strings Easy Array / General O(n) O(1)
434 Number of Segments in a String Easy Array / General O(n) O(1)
441 Arranging Coins Easy Array / General O(n) O(1)
455 Assign Cookies Easy Array / General O(n) O(1)
459 Repeated Substring Pattern Easy Array / General O(n) O(1)
461 Hamming Distance Easy Bit Manipulation O(n) O(1)
463 Island Perimeter Easy Array / General O(n) O(1)
476 Number Complement Easy Hash Map O(n) O(n)
482 License Key Formatting Easy Array / General O(n) O(1)
492 Construct the Rectangle Easy Math & Logic O(n) O(1)
495 Teemo Attacking Easy Array / General O(n) O(1)
496 Next Greater Element I Easy Monotonic Stack O(n) O(n)
500 Keyboard Row Easy Array / General O(n) O(1)
501 Find Mode in Binary Search Tree Easy Binary Search O(n) O(1)
504 Base 7 Easy Hash Map O(n) O(n)
506 Relative Ranks Easy Array / General O(n) O(1)
507 Perfect Number Easy Array / General O(n) O(1)
509 Fibonacci Number Easy Array / General O(n) O(1)
511 Game Play Analysis I Easy Array / General O(n) O(1)
520 Detect Capital Easy Array / General O(n) O(1)
521 Longest Uncommon Subsequence I Easy Dynamic Programming O(n) O(n)
530 Minimum Absolute Difference in BST Easy Binary Search O(n) O(1)
541 Reverse String II Easy Array / General O(n) O(1)
543 Diameter of Binary Tree Easy Binary Search O(n) O(1)
550 Game Play Analysis IV Medium Tree & Graph O(n) O(n)
551 Student Attendance Record I Easy Monotonic Stack O(n) O(n)
557 Reverse Words in a String III Easy Array / General O(n) O(1)
559 Maximum Depth of N-ary Tree Easy Tree & Graph O(n) O(n)
561 Array Partition Easy Array / General O(n) O(1)
563 Binary Tree Tilt Easy Binary Search O(n) O(1)
566 Reshape the Matrix Easy Tree & Graph O(n) O(n)
570 Managers with at Least 5 Direct Reports Medium Array / General O(n) O(1)
572 Subtree of Another Tree Easy Tree & Graph O(n) O(n)
575 Distribute Candies Easy Array / General O(n) O(1)
589 N-ary Tree Preorder Traversal Easy Tree & Graph O(n) O(n)
590 N-ary Tree Postorder Traversal Easy Tree & Graph O(n) O(n)
594 Longest Harmonious Subsequence Easy Dynamic Programming O(n) O(n)
598 Range Addition II Easy Array / General O(n) O(1)
599 Minimum Index Sum of Two Lists Easy Array / General O(n) O(1)
605 Can Place Flowers Easy Array / General O(n) O(1)
617 Merge Two Binary Trees Easy Tree & Graph O(n) O(n)
637 Average of Levels in Binary Tree Easy Binary Search O(n) O(1)
643 Maximum Average Subarray I Easy Array / General O(n) O(1)
653 Two Sum Iv Input Is A Bst Medium Binary Search O(n) O(1)
657 Robot Return to Origin Easy Array / General O(n) O(1)
661 Image Smoother Easy Array / General O(n) O(1)
671 Second Minimum Node In a Binary Tree Easy Two Pointers O(n) O(1)
674 Longest Continuous Increasing Subsequence Easy Dynamic Programming O(n) O(n)
678 Valid Parenthesis String Medium Array / General O(n) O(1)
682 Baseball Game Easy Bit Manipulation O(n) O(1)
693 Binary Number with Alternating Bits Easy Two Pointers O(n) O(1)
696 Count Binary Substrings Easy Tree & Graph O(n) O(n)
697 Degree of an Array Easy Hash Map O(n) O(n)
700 Search in a Binary Search Tree Easy Binary Search O(n) O(1)
703 Kth Largest Element in a Stream Easy Array / General O(n) O(1)
704 Binary Search Easy Binary Search O(log n) O(1)
705 Design HashSet Easy Hash Map O(n) O(n)
706 Design HashMap Easy Hash Map O(n) O(n)
709 To Lower Case Easy Array / General O(n) O(1)
717 1-bit and 2-bit Characters Easy Bit Manipulation O(n) O(1)
724 Find Pivot Index Easy Array / General O(n) O(1)
728 Self Dividing Numbers Easy Array / General O(n) O(1)
733 Flood Fill Easy Array / General O(n) O(1)
744 Find Smallest Letter Greater Than Target Easy Prefix Sum O(n) O(n)
746 Min Cost Climbing Stairs Easy Array / General O(n) O(1)
747 Largest Number At Least Twice of Others Easy Array / General O(n) O(1)
748 Shortest Completing Word Easy Hash Map O(n) O(n)
762 Prime Number of Set Bits in Binary Representation Easy Two Pointers O(n) O(1)
766 Toeplitz Matrix Easy Tree & Graph O(n) O(n)
771 Jewels and Stones Easy Array / General O(n) O(1)
783 Minimum Distance Between BST Nodes Easy Binary Search O(n) O(1)
804 Unique Morse Code Words Easy Array / General O(n) O(1)
806 Number of Lines To Write String Easy Array / General O(n) O(1)
812 Largest Triangle Area Easy Math & Logic O(n) O(1)
819 Most Common Word Easy Array / General O(n) O(1)
821 Shortest Distance to a Character Easy Array / General O(n) O(1)
824 Goat Latin Easy Array / General O(n) O(1)
830 Positions of Large Groups Easy Array / General O(n) O(1)
832 Flipping an Image Easy Array / General O(n) O(1)
844 Backspace String Compare Easy Array / General O(n) O(1)
856 Score of Parentheses Medium Stack & Queue O(n) O(n)
859 Buddy Strings Easy Array / General O(n) O(1)
860 Lemonade Change Easy Array / General O(n) O(1)
867 Transpose Matrix Easy Tree & Graph O(n) O(n)
868 Binary Gap Easy Tree & Graph O(n) O(n)
872 Leaf-Similar Trees Easy Tree & Graph O(n) O(n)
876 Middle of the Linked List Easy Two Pointers O(n) O(1)
883 Projection Area of 3D Shapes Easy Array / General O(n) O(1)
884 Uncommon Words from Two Sentences Easy Array / General O(n) O(1)
888 Fair Candy Swap Easy Array / General O(n) O(1)
892 Surface Area of 3D Shapes Easy Array / General O(n) O(1)
896 Monotonic Array Easy Monotonic Stack O(n) O(n)
897 Increasing Order Search Tree Easy Binary Search O(n) O(1)
905 Sort Array By Parity Easy Hash Map O(n) O(n)
908 Smallest Range I Easy Array / General O(n) O(1)
914 X of a Kind in a Deck of Cards Easy Array / General O(n) O(1)
917 Reverse Only Letters Easy Array / General O(n) O(1)
921 Minimum Add to Make Parentheses Valid Medium Stack & Queue O(n) O(n)
922 Sort Array By Parity II Easy Array / General O(n) O(1)
925 Long Pressed Name Easy Array / General O(n) O(1)
929 Unique Email Addresses Easy Array / General O(n) O(1)
933 Number of Recent Calls Easy Array / General O(n) O(1)
938 Range Sum of BST Easy Binary Search O(n) O(1)
941 Valid Mountain Array Easy Array / General O(n) O(1)
942 DI String Match Easy Array / General O(n) O(1)
944 Delete Columns to Make Sorted Easy Array / General O(n) O(1)
953 Verifying an Alien Dictionary Easy Hash Map O(n) O(n)
961 N-Repeated Element in Size 2N Array Easy Array / General O(n) O(1)
965 Univalued Binary Tree Easy Binary Search O(n) O(1)
976 Largest Perimeter Triangle Easy Math & Logic O(n) O(1)
977 Squares of a Sorted Array Easy Array / General O(n) O(1)
989 Add to Array-Form of Integer Easy Array / General O(n) O(1)
993 Cousins in Binary Tree Easy Binary Search O(n) O(1)
997 Find the Town Judge Easy Array / General O(n) O(1)
999 Available Captures for Rook Easy Array / General O(n) O(1)
1002 Find Common Characters Easy Array / General O(n) O(1)
1005 Maximize Sum Of Array After K Negations Easy Array / General O(n) O(1)
1009 Complement of Base 10 Integer Easy Hash Map O(n) O(n)
1018 Binary Prefix Divisible By 5 Easy Prefix Sum O(n) O(n)
1021 Remove Outermost Parentheses Easy Stack & Queue O(n) O(n)
1022 Sum of Root To Leaf Binary Numbers Easy Tree & Graph O(n) O(n)
1025 Divisor Game Easy Array / General O(n) O(1)
1030 Matrix Cells in Distance Order Easy Tree & Graph O(n) O(n)
1037 Valid Boomerang Easy Array / General O(n) O(1)
1046 Last Stone Weight Easy Array / General O(n) O(1)
1047 Remove All Adjacent Duplicates In String Easy Array / General O(n) O(1)
1051 Height Checker Easy Array / General O(n) O(1)
1071 Greatest Common Divisor of Strings Easy Array / General O(n) O(1)
1078 Occurrences After Bigram Easy Array / General O(n) O(1)
1089 Duplicate Zeros Easy Array / General O(n) O(1)
1103 Distribute Candies to People Easy Array / General O(n) O(1)
1108 Defanging an IP Address Easy Array / General O(n) O(1)
1122 Relative Sort Array Easy Hash Map O(n) O(n)
1128 Number of Equivalent Domino Pairs Easy Array / General O(n) O(1)
1137 N-th Tribonacci Number Easy Bit Manipulation O(n) O(1)
1154 Day of the Year Easy Array / General O(n) O(1)
1160 Find Words That Can Be Formed by Characters Easy Tree & Graph O(n) O(n)
1175 Prime Arrangements Easy Bit Manipulation O(n) O(1)
1185 Day of the Week Easy Array / General O(n) O(1)
1200 Minimum Absolute Difference Easy Array / General O(n) O(1)
1207 Unique Number of Occurrences Easy Array / General O(n) O(1)
1217 Minimum Cost to Move Chips to The Same Position Easy Array / General O(n) O(1)
1221 Split a String in Balanced Strings Easy Array / General O(n) O(1)
1232 Check If It Is a Straight Line Easy Array / General O(n) O(1)
1252 Cells with Odd Values in a Matrix Easy Tree & Graph O(n) O(n)
1266 Minimum Time Visiting All Points Easy Array / General O(n) O(1)
1275 Find Winner on a Tic Tac Toe Game Easy Array / General O(n) O(1)
1281 Subtract the Product and Sum of Digits of an Integer Easy Math & Logic O(n) O(1)
1287 Element Appearing More Than 25% In Sorted Array Easy Array / General O(n) O(1)
1290 Convert Binary Number in a Linked List to Integer Easy Binary Search O(n) O(1)
1295 Find Numbers with Even Number of Digits Easy Math & Logic O(n) O(1)
1299 Replace Elements with Greatest Element on Right Side Easy Array / General O(n) O(1)
1309 Decrypt String from Alphabet to Integer Mapping Easy Array / General O(n) O(1)
1313 Decompress Run-Length Encoded List Easy Array / General O(n) O(1)
1317 Convert Integer to the Sum of Two No-Zero Integers Easy Array / General O(n) O(1)
1323 Maximum 69 Number Easy Array / General O(n) O(1)
1332 Remove Palindromic Subsequences Easy Dynamic Programming O(n) O(n)
1337 The K Weakest Rows in a Matrix Easy Tree & Graph O(n) O(n)
1342 Number of Steps to Reduce a Number to Zero Easy Array / General O(n) O(1)
1346 Check If N and Its Double Exist Easy Array / General O(n) O(1)
1351 Count Negative Numbers in a Sorted Matrix Easy Tree & Graph O(n) O(n)
1356 Sort Integers by The Number of 1 Bits Easy Bit Manipulation O(n) O(1)
1360 Number of Days Between Two Dates Easy Array / General O(n) O(1)
1370 Increasing Decreasing String Easy Array / General O(n) O(1)
1374 Generate a String With Characters That Have Odd Counts Easy Array / General O(n) O(1)
1379 Find a Corresponding Node of a Binary Tree in a Clone of That Tree Easy Binary Search O(n) O(1)
1380 Lucky Numbers in a Matrix Easy Tree & Graph O(n) O(n)
1385 Find the Distance Value Between Two Arrays Easy Array / General O(n) O(1)
1389 Create Target Array in the Given Order Easy Array / General O(n) O(1)
1394 Find Lucky Integer in an Array Easy Hash Map O(n) O(n)
1399 Count Largest Group Easy Array / General O(n) O(1)
1403 Minimum Subsequence in Non-Increasing Order Easy Dynamic Programming O(n) O(n)
1408 String Matching in an Array Easy Array / General O(n) O(1)
1413 Minimum Value to Get Positive Step by Step Sum Easy Array / General O(n) O(1)
1417 Reformat The String Easy Array / General O(n) O(1)
1422 Maximum Score After Splitting a String Easy Array / General O(n) O(1)
1431 Kids With the Greatest Number of Candies Easy Array / General O(n) O(1)
1436 Destination City Easy Array / General O(n) O(1)
1437 Check If All 1's Are at Least Length K Places Away Easy Array / General O(n) O(1)
1446 Consecutive Characters Easy Array / General O(n) O(1)
1450 Number of Students Doing Homework at a Given Time Easy Array / General O(n) O(1)
1455 Check If a Word Occurs As a Prefix of Any Word in a Sentence Easy Prefix Sum O(n) O(n)
1460 Make Two Arrays Equal by Reversing Subarrays Easy Array / General O(n) O(1)
1480 Running Sum of 1d Array Easy Array / General O(n) O(1)
1486 XOR Operation in an Array Easy Bit Manipulation O(n) O(1)
1491 Average Salary Excluding the Minimum and Maximum Salary Easy Array / General O(n) O(1)
1496 Path Crossing Easy Tree & Graph O(n) O(n)
1502 Can Make Arithmetic Progression From Sequence Easy Array / General O(n) O(1)
1507 Reformat Date Easy Array / General O(n) O(1)
1512 Number of Good Pairs Easy Array / General O(n) O(1)
1518 Water Bottles Easy Array / General O(n) O(1)
1523 Count Odd Numbers in an Interval Range Easy Heap O(n) O(n)
1528 Shuffle String Easy Array / General O(n) O(1)
1541 Minimum Insertions to Balance a Parentheses String Medium Stack & Queue O(n) O(n)
1544 Make The String Great Easy Array / General O(n) O(1)
1550 Three Consecutive Odds Easy Array / General O(n) O(1)
1556 Thousand Separator Easy Array / General O(n) O(1)
1566 Detect Pattern of Length M Repeated K or More Times Easy Hash Map O(n) O(n)
1572 Matrix Diagonal Sum Easy Tree & Graph O(n) O(n)
1682 Most Visited Sector In A Circular Track Medium Array / General O(n) O(1)
1840 Maximum Building Height Hard Tree & Graph O(n) O(n)
2877 Create a DataFrame from List Easy Two Pointers O(n) O(1)
2878 Get the Size of a DataFrame Easy Two Pointers O(n) O(1)
2879 Display the First Three Rows Easy Array / General O(n) O(1)
2880 Select Data Easy Bit Manipulation O(n) O(1)
2881 Create a New Column Easy Two Pointers O(n) O(1)
2882 Drop Duplicate Rows Easy Array / General O(n) O(1)
2883 Drop Missing Data Easy Bit Manipulation O(n) O(1)
2884 Modify Columns Easy Tree & Graph O(n) O(n)
2885 Rename Columns Easy Tree & Graph O(n) O(n)
2886 Change Data Type Easy Bit Manipulation O(n) O(1)
2887 Fill Missing Data Easy Bit Manipulation O(n) O(1)
2888 Reshape Data: Concatenate Easy Stack & Queue O(n) O(n)
2889 Reshape Data: Pivot Easy Tree & Graph O(n) O(n)
2890 Reshape Data: Melt Easy Bit Manipulation O(n) O(1)
2891 Method Chaining Easy Hash Map O(n) O(n)
3093 Longest Common Suffix Queries Hard Hash Map O(n) O(n)
3161 Block Placement Queries Hard Array / General O(n) O(1)
3348 Smallest Divisible Digit Product II Hard Math & Logic O(n) O(1)
3475 DNA Pattern Recognition Medium Array / General O(n) O(1)
3482 Analyze Organization Hierarchy Hard Array / General O(n) O(1)
3497 Analyze Subscription Conversion Medium Array / General O(n) O(1)
3498 Reverse Degree of a String Easy Array / General O(n) O(1)
3521 Find Product Recommendation Pairs Medium Array / General O(n) O(1)
3554 Find Category Recommendation Pairs Hard Array / General O(n) O(1)
3559 Number of Ways to Assign Edge Weights II Hard Tree & Graph O(n) O(n)
3564 Seasonal Sales Analysis Medium Array / General O(n) O(1)
3570 Find Books with No Available Copies Easy Array / General O(n) O(1)
3580 Find Consistently Improving Employees Medium Array / General O(n) O(1)
3586 Find COVID Recovery Patients Medium Array / General O(n) O(1)
3601 Find Drivers with Improved Fuel Efficiency Medium Array / General O(n) O(1)
3611 Find Overbooked Employees Medium Array / General O(n) O(1)
3614 Process String with Special Operations II Hard Tree & Graph O(n) O(n)
3691 Maximum Total Subarray Value II Hard Array / General O(n) O(1)
3705 Find Golden Hour Customers Medium Array / General O(n) O(1)
3716 Find Churn Risk Customers Medium Array / General O(n) O(1)
3753 Total Waviness of Numbers in Range II Hard Array / General O(n) O(1)