JacobLinCool's Solutions

LeetCode Stats Cardopen in new window

GitHub Repositoryopen in new window

Built by LeetCode Dumpopen in new window

My Solutions

ProblemDifficultyTagsSolution
1. Two Sum 🔗open in new windowEasyArray, Hash Tablec | golang | javascript
2. Add Two Numbers 🔗open in new windowMediumLinked List, Math, Recursiongolang | javascript | typescript
3. Longest Substring Without Repeating Characters 🔗open in new windowMediumHash Table, String, Sliding Windowgolang | javascript
4. Median of Two Sorted Arrays 🔗open in new windowHardArray, Binary Search, Divide and Conquergolang | javascript
8. String to Integer (atoi) 🔗open in new windowMediumStringc
9. Palindrome Number 🔗open in new windowEasyMathc
13. Roman to Integer 🔗open in new windowEasyHash Table, Math, Stringc | typescript
14. Longest Common Prefix 🔗open in new windowEasyStringc
15. 3Sum 🔗open in new windowMediumArray, Two Pointers, Sortingjavascript
16. 3Sum Closest 🔗open in new windowMediumArray, Two Pointers, Sortingjavascript
19. Remove Nth Node From End of List 🔗open in new windowMediumLinked List, Two Pointersjavascript
20. Valid Parentheses 🔗open in new windowEasyString, Stackc | javascript
21. Merge Two Sorted Lists 🔗open in new windowEasyLinked List, Recursionc | javascript
22. Generate Parentheses 🔗open in new windowMediumString, Dynamic Programming, Backtrackingjavascript
24. Swap Nodes in Pairs 🔗open in new windowMediumLinked List, Recursionc
26. Remove Duplicates from Sorted Array 🔗open in new windowEasyArray, Two Pointersc
27. Remove Element 🔗open in new windowEasyArray, Two Pointersc
28. Implement strStr() 🔗open in new windowEasyTwo Pointers, String, String Matchingc
35. Search Insert Position 🔗open in new windowEasyArray, Binary Searchjavascript
36. Valid Sudoku 🔗open in new windowMediumArray, Hash Table, Matrixjavascript
44. Wildcard Matching 🔗open in new windowHardString, Dynamic Programming, Greedy, Recursionc | golang
46. Permutations 🔗open in new windowMediumArray, Backtrackingjavascript
48. Rotate Image 🔗open in new windowMediumArray, Math, Matrixjavascript
52. N-Queens II 🔗open in new windowHardBacktrackinggolang | javascript
53. Maximum Subarray 🔗open in new windowEasyArray, Divide and Conquer, Dynamic Programmingjavascript
56. Merge Intervals 🔗open in new windowMediumArray, Sortingjavascript
58. Length of Last Word 🔗open in new windowEasyStringc
59. Spiral Matrix II 🔗open in new windowMediumArray, Matrix, Simulationjavascript
61. Rotate List 🔗open in new windowMediumLinked List, Two Pointersc
62. Unique Paths 🔗open in new windowMediumMath, Dynamic Programming, Combinatoricsc
63. Unique Paths II 🔗open in new windowMediumArray, Dynamic Programming, Matrixc | typescript
66. Plus One 🔗open in new windowEasyArray, Mathc
67. Add Binary 🔗open in new windowEasyMath, String, Bit Manipulation, Simulationc | typescript
69. Sqrt(x) 🔗open in new windowEasyMath, Binary Searchc
70. Climbing Stairs 🔗open in new windowEasyMath, Dynamic Programming, Memoizationc | javascript
71. Simplify Path 🔗open in new windowMediumString, Stackc
74. Search a 2D Matrix 🔗open in new windowMediumArray, Binary Search, Matrixc | javascript
75. Sort Colors 🔗open in new windowMediumArray, Two Pointers, Sortingjavascript
77. Combinations 🔗open in new windowMediumBacktrackingjavascript
81. Search in Rotated Sorted Array II 🔗open in new windowMediumArray, Binary Searchc
82. Remove Duplicates from Sorted List II 🔗open in new windowMediumLinked List, Two Pointersc | golang | javascript | typescript
83. Remove Duplicates from Sorted List 🔗open in new windowEasyLinked Listjavascript
88. Merge Sorted Array 🔗open in new windowEasyArray, Two Pointers, Sortingjavascript
89. Gray Code 🔗open in new windowMediumMath, Backtracking, Bit Manipulationjavascript
92. Reverse Linked List II 🔗open in new windowMediumLinked Listcpp
94. Binary Tree Inorder Traversal 🔗open in new windowEasyStack, Tree, Depth-First Search, Binary Treejavascript
97. Interleaving String 🔗open in new windowMediumString, Dynamic Programmingjavascript
98. Validate Binary Search Tree 🔗open in new windowMediumTree, Depth-First Search, Binary Search Tree, Binary Treejavascript
101. Symmetric Tree 🔗open in new windowEasyTree, Depth-First Search, Breadth-First Search, Binary Treejavascript
102. Binary Tree Level Order Traversal 🔗open in new windowMediumTree, Breadth-First Search, Binary Treejavascript
104. Maximum Depth of Binary Tree 🔗open in new windowEasyTree, Depth-First Search, Breadth-First Search, Binary Treejavascript
105. Construct Binary Tree from Preorder and Inorder Traversal 🔗open in new windowMediumArray, Hash Table, Divide and Conquer, Tree, Binary Treejavascript
112. Path Sum 🔗open in new windowEasyTree, Depth-First Search, Breadth-First Search, Binary Treejavascript
116. Populating Next Right Pointers in Each Node 🔗open in new windowMediumLinked List, Tree, Depth-First Search, Breadth-First Search, Binary Treejavascript
118. Pascal's Triangle 🔗open in new windowEasyArray, Dynamic Programmingjavascript
119. Pascal's Triangle II 🔗open in new windowEasyArray, Dynamic Programmingjavascript
120. Triangle 🔗open in new windowMediumArray, Dynamic Programmingjavascript
121. Best Time to Buy and Sell Stock 🔗open in new windowEasyArray, Dynamic Programmingjavascript
128. Longest Consecutive Sequence 🔗open in new windowMediumArray, Hash Table, Union Findjavascript
133. Clone Graph 🔗open in new windowMediumHash Table, Depth-First Search, Breadth-First Search, Graphc
135. Candy 🔗open in new windowHardArray, Greedyjavascript
136. Single Number 🔗open in new windowEasyArray, Bit Manipulationjavascript
138. Copy List with Random Pointer 🔗open in new windowMediumHash Table, Linked Listc
141. Linked List Cycle 🔗open in new windowEasyHash Table, Linked List, Two Pointersc | javascript
144. Binary Tree Preorder Traversal 🔗open in new windowEasyStack, Tree, Depth-First Search, Binary Treejavascript
145. Binary Tree Postorder Traversal 🔗open in new windowEasyStack, Tree, Depth-First Search, Binary Treejavascript
167. Two Sum II - Input Array Is Sorted 🔗open in new windowMediumArray, Two Pointers, Binary Searchjavascript
169. Majority Element 🔗open in new windowEasyArray, Hash Table, Divide and Conquer, Sorting, Countingjavascript
189. Rotate Array 🔗open in new windowMediumArray, Math, Two Pointersjavascript
190. Reverse Bits 🔗open in new windowEasyDivide and Conquer, Bit Manipulationjavascript
191. Number of 1 Bits 🔗open in new windowEasyBit Manipulationc | golang | javascript | typescript
198. House Robber 🔗open in new windowMediumArray, Dynamic Programmingjavascript
203. Remove Linked List Elements 🔗open in new windowEasyLinked List, Recursionjavascript
206. Reverse Linked List 🔗open in new windowEasyLinked List, Recursionjavascript
217. Contains Duplicate 🔗open in new windowEasyArray, Hash Table, Sortingjavascript
226. Invert Binary Tree 🔗open in new windowEasyTree, Depth-First Search, Breadth-First Search, Binary Treejavascript
231. Power of Two 🔗open in new windowEasyMath, Bit Manipulation, Recursionjavascript
232. Implement Queue using Stacks 🔗open in new windowEasyStack, Design, Queuejavascript
235. Lowest Common Ancestor of a Binary Search Tree 🔗open in new windowEasyTree, Depth-First Search, Binary Search Tree, Binary Treejavascript
236. Lowest Common Ancestor of a Binary Tree 🔗open in new windowMediumTree, Depth-First Search, Binary Treejavascript
240. Search a 2D Matrix II 🔗open in new windowMediumArray, Binary Search, Divide and Conquer, Matrixjavascript
242. Valid Anagram 🔗open in new windowEasyHash Table, String, Sortingjavascript
278. First Bad Version 🔗open in new windowEasyBinary Search, Interactivejavascript
283. Move Zeroes 🔗open in new windowEasyArray, Two Pointersc | javascript
287. Find the Duplicate Number 🔗open in new windowMediumArray, Two Pointers, Binary Search, Bit Manipulationc
307. Range Sum Query - Mutable 🔗open in new windowMediumArray, Design, Binary Indexed Tree, Segment Treejavascript
315. Count of Smaller Numbers After Self 🔗open in new windowHardArray, Binary Search, Divide and Conquer, Binary Indexed Tree, Segment Tree, Merge Sort, Ordered Setcpp
316. Remove Duplicate Letters 🔗open in new windowMediumString, Stack, Greedy, Monotonic Stackc
318. Maximum Product of Word Lengths 🔗open in new windowMediumArray, String, Bit Manipulationgolang | javascript
322. Coin Change 🔗open in new windowMediumArray, Dynamic Programming, Breadth-First Searchc
326. Power of Three 🔗open in new windowEasyMath, Recursionc
336. Palindrome Pairs 🔗open in new windowHardArray, Hash Table, String, Triejavascript
338. Counting Bits 🔗open in new windowEasyDynamic Programming, Bit Manipulationc
344. Reverse String 🔗open in new windowEasyTwo Pointers, String, Recursionc | javascript | rust
350. Intersection of Two Arrays II 🔗open in new windowEasyArray, Hash Table, Two Pointers, Binary Search, Sortingjavascript
363. Max Sum of Rectangle No Larger Than K 🔗open in new windowHardArray, Binary Search, Dynamic Programming, Matrix, Ordered Setcpp
378. Kth Smallest Element in a Sorted Matrix 🔗open in new windowMediumArray, Binary Search, Sorting, Heap (Priority Queue), Matrixjavascript
383. Ransom Note 🔗open in new windowEasyHash Table, String, Countingjavascript
387. First Unique Character in a String 🔗open in new windowEasyHash Table, String, Queue, Countingjavascript
392. Is Subsequence 🔗open in new windowEasyTwo Pointers, String, Dynamic Programmingc
410. Split Array Largest Sum 🔗open in new windowHardArray, Binary Search, Dynamic Programming, Greedyc
413. Arithmetic Slices 🔗open in new windowMediumArray, Dynamic Programmingc
473. Matchsticks to Square 🔗open in new windowMediumArray, Dynamic Programming, Backtracking, Bit Manipulation, Bitmaskjavascript
476. Number Complement 🔗open in new windowEasyBit Manipulationc
485. Max Consecutive Ones 🔗open in new windowEasyArrayjavascript
506. Relative Ranks 🔗open in new windowEasyArray, Sorting, Heap (Priority Queue)javascript
542. 01 Matrix 🔗open in new windowMediumArray, Dynamic Programming, Breadth-First Search, Matrixjavascript
557. Reverse Words in a String III 🔗open in new windowEasyTwo Pointers, Stringjavascript
566. Reshape the Matrix 🔗open in new windowEasyArray, Matrix, Simulationjavascript
567. Permutation in String 🔗open in new windowMediumHash Table, Two Pointers, String, Sliding Windowjavascript
576. Out of Boundary Paths 🔗open in new windowMediumDynamic Programmingjavascript
617. Merge Two Binary Trees 🔗open in new windowEasyTree, Depth-First Search, Breadth-First Search, Binary Treejavascript
629. K Inverse Pairs Array 🔗open in new windowHardDynamic Programmingjavascript
653. Two Sum IV - Input is a BST 🔗open in new windowEasyHash Table, Two Pointers, Tree, Depth-First Search, Breadth-First Search, Binary Search Tree, Binary Treejavascript
658. Find K Closest Elements 🔗open in new windowMediumArray, Two Pointers, Binary Search, Sorting, Heap (Priority Queue)javascript
680. Valid Palindrome II 🔗open in new windowEasyTwo Pointers, String, Greedyc
682. Baseball Game 🔗open in new windowEasyArray, Stack, Simulationgolang
684. Redundant Connection 🔗open in new windowMediumDepth-First Search, Breadth-First Search, Union Find, Graphjavascript
695. Max Area of Island 🔗open in new windowMediumArray, Depth-First Search, Breadth-First Search, Union Find, Matrixc | javascript
700. Search in a Binary Search Tree 🔗open in new windowEasyTree, Binary Search Tree, Binary Treejavascript
701. Insert into a Binary Search Tree 🔗open in new windowMediumTree, Binary Search Tree, Binary Treejavascript
704. Binary Search 🔗open in new windowEasyArray, Binary Searchc | javascript
705. Design HashSet 🔗open in new windowEasyArray, Hash Table, Linked List, Design, Hash Functionc
706. Design HashMap 🔗open in new windowEasyArray, Hash Table, Linked List, Design, Hash Functionjavascript
729. My Calendar I 🔗open in new windowMediumBinary Search, Design, Segment Tree, Ordered Setc | javascript
733. Flood Fill 🔗open in new windowEasyArray, Depth-First Search, Breadth-First Search, Matrixjavascript
740. Delete and Earn 🔗open in new windowMediumArray, Hash Table, Dynamic Programmingc
746. Min Cost Climbing Stairs 🔗open in new windowEasyArray, Dynamic Programmingc | javascript
752. Open the Lock 🔗open in new windowMediumArray, Hash Table, String, Breadth-First Searchjavascript
763. Partition Labels 🔗open in new windowMediumHash Table, Two Pointers, String, Greedyc | typescript
778. Swim in Rising Water 🔗open in new windowHardArray, Binary Search, Depth-First Search, Breadth-First Search, Union Find, Heap (Priority Queue), Matrixcpp
784. Letter Case Permutation 🔗open in new windowMediumString, Backtracking, Bit Manipulationjavascript
792. Number of Matching Subsequences 🔗open in new windowMediumHash Table, String, Trie, Sortingcpp
795. Number of Subarrays with Bounded Maximum 🔗open in new windowMediumArray, Two Pointersjavascript
799. Champagne Tower 🔗open in new windowMediumDynamic Programmingc
856. Score of Parentheses 🔗open in new windowMediumString, Stackc | golang | typescript
871. Minimum Number of Refueling Stops 🔗open in new windowHardArray, Dynamic Programming, Greedy, Heap (Priority Queue)javascript
876. Middle of the Linked List 🔗open in new windowEasyLinked List, Two Pointersc | javascript
881. Boats to Save People 🔗open in new windowMediumArray, Two Pointers, Greedy, Sortingc
895. Maximum Frequency Stack 🔗open in new windowHardHash Table, Stack, Design, Ordered Setc | javascript | typescript
905. Sort Array By Parity 🔗open in new windowEasyArray, Two Pointers, Sortingc
941. Valid Mountain Array 🔗open in new windowEasyArrayc
946. Validate Stack Sequences 🔗open in new windowMediumArray, Stack, Simulationc | typescript
977. Squares of a Sorted Array 🔗open in new windowEasyArray, Two Pointers, Sortingjavascript
991. Broken Calculator 🔗open in new windowMediumMath, Greedyc
994. Rotting Oranges 🔗open in new windowMediumArray, Breadth-First Search, Matrixjavascript
1004. Max Consecutive Ones III 🔗open in new windowMediumArray, Binary Search, Sliding Window, Prefix Sumjavascript
1007. Minimum Domino Rotations For Equal Row 🔗open in new windowMediumArray, Greedyc
1009. Complement of Base 10 Integer 🔗open in new windowEasyBit Manipulationc
1029. Two City Scheduling 🔗open in new windowMediumArray, Greedy, Sortingc | javascript | typescript
1047. Remove All Adjacent Duplicates In String 🔗open in new windowEasyString, Stackjavascript
1081. Smallest Subsequence of Distinct Characters 🔗open in new windowMediumString, Stack, Greedy, Monotonic Stackc
1089. Duplicate Zeros 🔗open in new windowEasyArray, Two Pointersjavascript
1220. Count Vowels Permutation 🔗open in new windowHardDynamic Programmingcpp
1249. Minimum Remove to Make Valid Parentheses 🔗open in new windowMediumString, Stackc
1290. Convert Binary Number in a Linked List to Integer 🔗open in new windowEasyLinked List, Mathc | cpp | golang | java | javascript | php | python3 | python | typescript
1295. Find Numbers with Even Number of Digits 🔗open in new windowEasyArrayjavascript
1299. Replace Elements with Greatest Element on Right Side 🔗open in new windowEasyArrayc
1337. The K Weakest Rows in a Matrix 🔗open in new windowEasyArray, Binary Search, Sorting, Heap (Priority Queue), Matrixjavascript | typescript
1338. Reduce Array Size to The Half 🔗open in new windowMediumArray, Hash Table, Greedy, Sorting, Heap (Priority Queue)javascript
1346. Check If N and Its Double Exist 🔗open in new windowEasyArray, Hash Table, Two Pointers, Binary Search, Sortingc
1359. Count All Valid Pickup and Delivery Options 🔗open in new windowHardMath, Dynamic Programming, Combinatoricsc | cpp | csharp | java | javascript | python3 | python | ruby | rust | typescript
1383. Maximum Performance of a Team 🔗open in new windowHardArray, Greedy, Sorting, Heap (Priority Queue)cpp | javascript
1465. Maximum Area of a Piece of Cake After Horizontal and Vertical Cuts 🔗open in new windowMediumArray, Greedy, Sortingc | javascript
1663. Smallest String With A Given Numeric Value 🔗open in new windowMediumString, Greedyc | typescript
1689. Partitioning Into Minimum Number Of Deci-Binary Numbers 🔗open in new windowMediumString, Greedygolang | javascript
1690. Stone Game VII 🔗open in new windowMediumArray, Math, Dynamic Programming, Game Theoryc | javascript
1695. Maximum Erasure Value 🔗open in new windowMediumArray, Hash Table, Sliding Windowgolang | javascript
1696. Jump Game VI 🔗open in new windowMediumArray, Dynamic Programming, Queue, Sliding Window, Heap (Priority Queue), Monotonic Queuejavascript
1710. Maximum Units on a Truck 🔗open in new windowEasyArray, Greedy, Sortingjavascript
1876. Substrings of Size Three with Distinct Characters 🔗open in new windowEasyHash Table, String, Sliding Window, Countingjavascript
1877. Minimize Maximum Pair Sum in Array 🔗open in new windowMediumArray, Two Pointers, Greedy, Sortingjavascript
1878. Get Biggest Three Rhombus Sums in a Grid 🔗open in new windowMediumArray, Math, Sorting, Heap (Priority Queue), Matrix, Prefix Sumcpp
1879. Minimum XOR Sum of Two Arrays 🔗open in new windowHardArray, Dynamic Programming, Bit Manipulation, Bitmaskcpp
1880. Check if Word Equals Summation of Two Words 🔗open in new windowEasyStringjavascript
1881. Maximum Value after Insertion 🔗open in new windowMediumString, Greedyjavascript
1882. Process Tasks Using Servers 🔗open in new windowMediumArray, Heap (Priority Queue)cpp
1893. Check if All the Integers in a Range Are Covered 🔗open in new windowEasyArray, Hash Table, Prefix Sumjavascript
1894. Find the Student that Will Replace the Chalk 🔗open in new windowMediumArray, Binary Search, Simulation, Prefix Sumjavascript
1895. Largest Magic Square 🔗open in new windowMediumArray, Matrix, Prefix Sumgolang
1897. Redistribute Characters to Make All Strings Equal 🔗open in new windowEasyHash Table, String, Countingjavascript
1899. Merge Triplets to Form Target Triplet 🔗open in new windowMediumArray, Greedyjavascript
1909. Remove One Element to Make the Array Strictly Increasing 🔗open in new windowEasyArrayjavascript
1910. Remove All Occurrences of a Substring 🔗open in new windowMediumStringjavascript