Yeening / LeetCode

Solutions&notes of LeeCode problems in Java, C++ and Python

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

LeetCode solutions in C++, Java and Python3.

x NO. Title Solution Note Difficulty Tag
1 1 Two Sum C++ PythonJava Note Easy Hash table
2 2 Add Two Numbers C++ PythonJava Note Medium Linked List
3 3 Longest Substring Without Repeating Characters 2 C++ PythonJava Note Medium Hash Table
4 15 3Sum 2 Java Note Medium Array Two Pointers
5 18 4Sum 2 Java Note 2 Medium Array Two Pointers
6 454 4Sum II 2 Java Note Medium Hash table``Binary Search
7 19 Remove Nth Node From End of List 3 C++ Python Java Note Medium Linked List
8 206 Reverse Linked List 2 C++ Python Java Note Easy LinkedList
9 21 Merge_Two_Sorted_Lists Java Note Easy Linked List
10 20 Valid_Parentheses 2 Java Note Easy Stack
11 5 Longest Palindromic Substring Java Note Medium Dynamic Programming
12 32 Longest Valid Parentheses 2 Java Note Hard Dynamic Programming
13 120 Triangle Java Note Medium Dynamic Programming
14 62 Unique Paths C++ Python Java Note Medium Dynamic Programming
15 96 Unique Binary Search Trees 2 C++ Python Java Note Medium Dynamic Programming
16 95 Unique Binary Search Trees II Java Note Medium Dynamic Programming
17 63 Unique Paths II 2 Java Note Medium Dynamic Programming
18 280 Wiggle Sort Java Note Medium Sort
19 136 Single Number C++ Python Java Note Easy Bit Manipulation
20 266 Palindrome Permutation Java Note Easy Hash Table
21 293 Flip Game Java Note Easy String
22 226 Invert Binary Tree Java Note Easy Tree
23 260 Single Number III Java Note Medium Bit Manipulation
24 94 Binary Tree Inorder Traversal C++ Python Java Note Medium Tree
25 144 Binary Tree Preorder Traversal Java Note Medium Tree
26 292 Nim Game C++ Python Java Note Easy Brainteaser
27 182 Duplicate Emails SQL Note Easy SQL
28 238 Product of Array Except Self Java Note Medium Array
29 237 Delete Node in a Linked List Java Easy Linked List
30 283 Move Zeroes 2 Java Easy Two pointers
31 258 Add Digits Java Note Easy Math
32 202 Happy Number 3 Java Note Easy Math Hash Table
33 264 Ugly Number II Java Note Medium Math Heap
34 263 Ugly Number Java Easy Math
35 78 Subsets 2 Java Note Medium Backtracking
36 90 Subsets II Java Note Medium Backtracking
37 51 N-Queens Java Note Hard Backtracking
38 52 N-Queens II Java Note Hard Backtracking
39 22 Generate Parentheses 2 C++PythonJava Note Medium Backtracking
40 39 Combination Sum Java Python Note Medium Backtracking
41 46 Permutations 3 C++ Python Java Note Medium Backtracking
42 47 Permutations II Java Note Medium Backtracking
43 33 Search in Rotated Sorted Array 2 C++ Python Java Note Medium Binary Search
44 34 Search for a Range 5 C++ Python Java Note Medium Binary Search
45 49 Group Anagrams C++ Python Java Note Medium Hash Table
46 297 Serialize and Deserialize Binary Tree 4 C++ Python Java Note Hard Tree
47 4 Median of Two Sorted Arrays 2 C++ Python Java Note Hard Tree
48 175 Combine Two Tables SQL Easy SQL
49 169 Majority Element 2 Java Easy Array
50 242 Valid Anagram 2 Java Easy Hash Table
51 230 Kth Smallest Element in a BST 3 Java Medium Tree Binary Search
52 217 Contains Duplicate Java Easy Hash Table
53 219 Contains Duplicate II Java Easy Hash Table
54 14 Longest Common Prefix Java Easy String
55 13 Roman to Integer Java Note Easy String Math
56 912 Sort an array Java Note Medium Sorting
57 12 Intger to Roman Java Note Medium String Math
58 38 Count and Say Java Easy String
59 7 Reverse Integer Java Note Easy Math
60 9 Palindrome Number Java Note Easy Math
61 26 Remove_Duplicates_from_Sorted_Array Java Note Easy Two Pointers
62 27 Remove Element Java Note Easy Two Pointers
63 35 Search Insert Position Java Note Easy Binary Search
64 58 Length of Last Word Java Note Easy String
65 67 Add Binary Java Easy Math
66 66 Plus One Java Easy Math
67 69 Sqrt(x) 2 Java Easy Binary Search
68 70 CLimbing Stairs Java Easy Dynamic Programming
69 54 Spiral Matrix Java Note Medium Array
70 100 Same Tree Java Easy Tree
71 56 Merge Intervals 3 Java Note Medium Sorting
72 101 Symmetric Tree 2 Java Easy Tree
73 102 Binary Tree Level Order Traversal Java Medium Tree BFS
74 23 Merge k Sorted Lists 2 Java Note Hard Divide and Conquer
75 103 Binary Tree Zigzag Level Order Traversal Java 2 Note Medium Tree
76 572 Subtree of Another Tree Java Note Easy Tree
77 107 Binary_Tree_Level_Order_Traversal_II Java Easy Tree
78 176 Second Highest Salary Sql Easy SQL
79 177 Nth Highest Salary Sql Medium SQL
80 829 Consecutive Numbers Sum Java Note Hard Math
81 239 Sliding Window Maximum 3 Java Note Hard Sliding Window
82 76 Minimum Window Substring 2 Java C++ Note Hard Sliding Window Hash Table Two Pointers
83 713 Subarray Product Less Than K Java C++ Note Medium Two Pointers
84 992 Subarrays with K Different Integers Java Note Hard Sliding Window Two Pointers
85 516 Longest Palindromic Subsequence 3 Java Medium Dynamic Programming
86 974 Subarray Sums Divisible by K Java Note Medium Hash Table
87 945 Minimum Increment to Make Array Unique 2 Java Note Medium Array
88 42 Trapping Rain Water 3 Java Note Hard Two Pointers
89 99 Recover Binary Search Tree Java Note Hard Tree
90 124 Binary Tree Maximum Path Sum 2 Java Cpp Note Hard Tree
91 127 Word Ladder Java Note Medium BFS
92 138 Copy List with Random Pointer 2 Java Note Medium Linked List
93 139 Word Break 2 Java Medium Dynamic Programming
94 146 LRU Cache Java 2 Note Medium Design
95 200 Number of Islands 2 Java Medium DFS
96 201 Word Search II Java Note Hard Trie Backtracking
97 240 Search a 2D Matrix II 3 Java Medium Divide and Conquer
98 253 Meeting Rooms II 2 Java Note Medium Heap Greedy
99 273 Integer to English Words Java Hard Math
100 295 Find Median from Data Stream 3 Java Note Hard Design Heap
101 1192 Critical Connections in a Network Java Note Hard DFS
102 937 Reorder Data in Log Files 2 Java Easy String
103 642 Design Search Autocomplete System Java Note Hard Design Trie
104 252 Meeting Rooms Java Easy Sort
105 323 Number of Connected Components in an Undirected Graph Java Note Medium DFS Union Find
106 347 Top K Frequent Elements 2 Java Medium Heap
107 735 Asteroid Collision Java Note Medium Stack
108 121 Best Time to Buy and Sell Stock Java Easy Array
109 994 Rotting Oranges Java Easy BFS
110 981 Time Based Key-Value Store Java Note Medium Hash Table
111 692 Top K Frequent Words 2 Java Medium Heap
112 380 Insert Delete GetRandom O(1) 4 Java Note Medium Hash Table Design
113 953 Verifying an Alien Dictionary Java Easy Hash Table
114 269 Alien Dictionary Java Hard Topological Sort
115 79 Word Search 2 Java Medium Backtracking
116 224 Basic Calculator 2 Java Note Hard Math Stack
117 227 Basic Calculator II 2 Java Medium String
118 1462 Course Schedule IV Java Medium Graph
119 11 Container With Most Water 2 Java Note Medium Two Pointers
120 16 3Sum Closest 3 Java Medium Two Pointers
121 28 Implemant strStr() Java Easy Two Pointers
122 48 Rotate Image Java 2 Medium Array
123 165 Compare Version Numbers Java Medium String
124 268 Missing Number Java Easy Math
125 387 First Unique Character in a String 2 Java Easy Hash Table
126 819 Most Common Word Java Easy Hash Table
127 98 Validate Binary Search Tree Java 2 Medium Tree
128 675 Cut Off Trees for Golf Event Java Hard BFS
129 236 Lowest Common Ancestor of a Binary Tree 2 Java Medium Tree
130 543 Diameter of Binary Tree 2 Java Easy Tree
131 207 Course Schedule Java 2 Medium DFS
132 733 Flood Fill Java Easy DFS
133 17 Letter Combinations of a Phone Number Java Medium Back Tracking
134 348 Design Tic-Tac-Toe 2 Java Medium Design
135 155 Min Stack Java 2 Easy Design
136 895 Maximum Frequency Stack 2 Java Hard Design
137 763 Partition Labels Java Medium Two pointers
138 957 Prison Cells After N Days Java Medium Hash Table
139 349 Intersection of Two Arrays Java Easy Hash Table
140 350 Intersection of Two Arrays II Java Easy Hash Table
141 36 Valid Sudoku Java Medium Hash Table
142 344 Reverse String Java Easy Two pointers
143 125 Valid Palindrome Java Easy Two pointers
144 8 String to Integer (atoi) Java Medium String
145 234 Palindrome Linked List 2 Java Easy Linked List
146 141 Linked List Cycle Java Easy Linked List
147 104 Maximum Depth of Binary Tree Java Easy Tree
148 108 Convert Sorted Array to Binary Search Tree Java Easy Tree
149 88 Merge Sorted Array Java Easy Two pointers
150 278 First Bad Version Java Easy Binary Search
151 53 Maximum Subarray Java Easy Array
152 198 House Robber Java Easy DP
153 384 Shuffle an Array Java Medium Design
154 412 Fizz Buzz Java Easy Math
155 204 Count Primes 2 Java Easy Math
156 326 Power of Three Java Easy Math
157 191 Number of 1 Bits Java Easy Bit
158 461 Hamming Distance Java Easy Bit
159 190 Reverse Bits Java Easy Bit
160 118 Pascal's Triangle Java Easy Array
161 119 Pascal's Triangle II Java Easy Array
162 213 House Robber II 2 Java Medium Dynamic Programming
163 337 House Robber III 2 Java Medium DFS
164 73 Set Matrix Zeroes Java Medium Array
165 334 Increasing Triplet Subsequence Java Medium Array
166 163 Missing Ranges Java Medium Array
167 160 Intersection of Two Linked Lists Java Easy Linked List
168 328 Odd Even Linked List Java Medium Linked List
169 105 Construct Binary Tree from Preorder and Inorder Traversal Java Medium Tree
170 116 Populating Next Right Pointers in Each Node Java Medium Tree
171 117 Populating Next Right Pointers in Each Node II Java Medium Tree
172 285 Inorder Successor in BST Java Medium Tree
173 75 Sort Colors Java Medium Two pointers
174 251 Flatten 2D Vector Java Medium Design
175 300 Longest Increasing Subsequence 3 Java Medium Binary Search
176 322 Coin Change Java Medium Dynamic Programming
177 55 Jump Game Java Medium Dynamic Programming
178 162 Find Peak Element Java Medium Binary Search
179 215 Kth Largest Element in an Array Java Medium Divide and Conquer
180 171 Excel Sheet Column Number Java Easy Math
181 172 Factorial Trailing Zeroes Java Easy Math
182 50 Pow(x, n) Java Medium Math
183 29 Divide Two Integers Java Medium Math
184 166 Fraction to Recurring Decimal Java Medium Math
185 150 Evaluate Reverse Polish Notation Java Medium Stack
186 277 Find the Celebrity Java Medium Array
187 621 Task Scheduler Java Medium Array
188 289 Game of Life Java Medium Array
189 41 First Missing Positive Java 2 Hard Array
190 930 Binary Subarrays With Sum 2 Java Medium Prefix Sum
191 523 Continuous Subarray Sum Java Medium Prefix Sum
192 1314 Matrix Block Sum Java Medium Prefix Sum
193 208 Implement Trie (Prefix Tree) Java Medium Trie
194 706 Design HashMap Java Easy Hash Map
195 152 Maximum Product Subarray Java Medium DP
196 151 Reverse Words in a String Java Medium String
197 140 Word Break II Java Hard Back tracking
198 210 Course Schedule II 3 Java Medium Topological Sort
199 1041 Robot Bounded In Circle Java Medium Math
200 221 Maximal Square Java Medium Dynamic Programming
201 973 K Closest Points to Origin 2 Java Medium Divide and Conquer
202 1010 Pairs of Songs With Total Durations Divisible by 60 Java Medium Array
203 1465 Maximum Area of a Piece of Cake After Horizontal and Vertical Cuts Java Medium Array
204 547 Number of Provinces 2 Java Medium Union find DFS
205 114 Flatten Binary Tree to Linked List Java Medium Tree
206 106 Construct Binary Tree from Inorder and Postorder Traversal Java Medium Tree
207 652 Find Duplicate Subtrees 2 Java Medium Tree
208 538 Convert BST to Greater Tree Java Medium Tree
209 701 Insert into a Binary Search Tree Java Medium BST
210 450 Delete Node in a BST Java Medium BST
211 797 All Paths From Source to Target Java Medium DFS
212 1373 Maximum Sum BST in Binary Tree Java Hard BST
213 341 Flatten Nested List Iterator Java Medium Design
214 222 Count Complete Tree Nodes Java Medium Tree
215 92 Reverse Linked List II Java Medium Linked List
216 25 Reverse Nodes in k-Group Java Hard Linked List
217 931 Minimum Falling Path Sum Java Medium DP
218 1143 Longest Common Subsequence Java Medium DP
219 583 Delete Operation for Two Strings Java Medium DP
220 712 Minimum ASCII Delete Sum for Two Strings Java Medium DP
221 72 Edit Distance Java Hard DP
222 416 Partition Equal Subset Sum Java Medium DP
223 435 Non-overlapping Intervals 2 Java Medium Greedy
224 452 Minimum Number of Arrows to Burst Balloons Java Medium Greedy
225 134 Gas Station Java Medium Greedy
226 45 Jump Game II Java Medium Greedy
227 64 Minimum Path Sum Java Medium DP
228 174 Dungeon Game Java Hard DP
229 514 Freedom Trail Java Hard DP
230 10 Regular Expression Matching Java Hard DP
231 366 Find Leaves of Binary Tree Java Medium Tree
232 875 Koko Eating Bananas Java Medium Binary Search
233 1011 Capacity To Ship Packages Within D Days Java Medium Binary Search
234 74 Search a 2D Matrix Java Medium Binary Search
235 81 Search in Rotated Sorted Array II Java Medium Binary Search
236 153 Find Minimum in Rotated Sorted Array Java Medium Binary Search
237 154 Find Minimum in Rotated Sorted Array II Java Hard Binary Search
238 243 Shortest Word Distance Java Easy Two Pointers
239 244 Shortest Word Distance II Java Medium Two Pointers
240 142 Linked List Cycle II Java Medium Two Pointers
241 167 Two Sum II - Input array is sorted Java Easy Two Pointers
242 245 Shortest Word Distance III Java Medium Array
243 567 Permutation in String Java Medium Sliding Window
244 438 Find All Anagrams in a String Java Medium Sliding Window
245 159 Longest Substring with At Most Two Distinct Characters Java Medium Sliding Window
246 487 Max Consecutive Ones II Java Medium Sliding Window
247 30 Substring with Concatenation of All Words Java Hard Sliding Window
248 205 Isomorphic Strings Java Easy String
249 44 Wildcard Matching Java Hard Dynamic Programming
250 122 Best Time to Buy and Sell Stock II Java Easy Dynamic Programming
251 123 Best Time to Buy and Sell Stock III Java Hard Dynamic Programming
252 188 Best Time to Buy and Sell Stock IV Java Hard Dynamic Programming
253 309 Best Time to Buy and Sell Stock with Cooldown Java Medium Dynamic Programming
254 714 Best Time to Buy and Sell Stock with Transaction Fee Java Medium Dynamic Programming
255 111 Minimum Depth of Binary Tree Java Easy BFS
256 752 Open the Lock Java Medium BFS
257 126 Word Ladder II Java Hard BFS
258 130 Surrounded Regions Java Medium DFS
259 179 Largest Number Java Medium Sorting
260 1288 Remove Covered Intervals 2 Java Medium Sorting
261 986 Interval List Intersections Java Medium Two Pointers
262 698 Partition to K Equal Sum Subsets Java Medium Back Tracking
263 57 Insert Interval Java Medium Array
264 77 Combinations Java Medium Back Tracking
265 773 Sliding Puzzle 2 Java Hard BFS
266 231 Power of Two Java Easy Bit Manipulation
267 793 Preimage Size of Factorial Zeroes Function Java Hard Binary Search Math
268 372 Super Pow Java Medium Math
269 659 Split Array into Consecutive Subsequences Java Medium Hash Table
270 990 Satisfiability of Equality Equations Java Medium Union Find
271 128 Longest Consecutive Sequence Java Medium Union Find
272 460 LFU Cache Java Hard Design
273 355 Design Twitter Java Medium Design
274 496 Next Greater Element I Java Easy Monotonic Stack
275 503 Next Greater Element II Java Medium Monotonic Stack
276 739 Daily Temperatures 2 Java Medium Monotonic Stack
277 870 Advantage Shuffle Java Medium Greedy
278 211 Design Add and Search Words Data Structure Java Medium Trie
279 91 Decode Ways Java Medium Dynamic Programming
280 287 Find the Duplicate Number 2 Java Medium Two Pointers
281 329 Longest Increasing Path in a Matrix 2 Java Hard DFS
282 1262 Greatest Sum Divisible by Three Java Medium DP
283 560 Subarray Sum Equals K Java Medium Prefix sum
284 1509 Minimum Difference Between Largest and Smallest Value in Three Moves Java Medium Array
285 1877 Minimize Maximum Pair Sum in Array Java Medium Greedy
286 1049 Last Stone Weight II Java Medium Dynamic Programming
287 68 Text Justification Java Hard Simulation
288 359 Logger Rate Limiter Java Easy Hash Map
289 833 Find And Replace in String Java Medium Hash Map String
290 710 Random Pick with Blacklist Java Hard Hash Map Random
291 317 Shortest Distance from All Buildings Java Hard BFS
292 1277 Count Square Submatrices with All Ones 2 Java Medium Dynamic Programming
293 498 Diagonal Traverse Java Medium Simulation
294 1424 Diagonal Traverse II Java Medium Sorting
295 360 Sort Transformed Array Java Medium Sorting
296 743 Network Delay Time Java Medium BFS``Dijkstra
297 1514 Path with Maximum Probability 2 Java Medium BFS``Dijkstra
298 2013 Detect Squares Java Medium Design Counting
299 97 Interleaving String Java Medium Dynamic Programming
300 189 Rotate Array Java Medium Math
301 905 Sort Array By Parity Java Easy Sorting
302 921 Minimum Add to Make Parentheses Valid Java Medium Stack
303 780 Reaching Points Java Hard Math Tree
304 515 Find Largest Value in Each Tree Row Java Medium Tree
305 647 Palindromic Substrings Java Medium Dynamic Programming
306 1347 Minimum Number of Steps to Make Two Strings Anagram Java Medium Hash Table
307 256 Paint House Java Medium Dynamic Programming
308 40 Combination Sum II Java Medium Back tracking
309 453 Minimum Moves to Equal Array Elements Java Medium Array
310 696 Count Binary Substrings Java Easy String
311 1048 Longest String Chain Java Medium Dynamic Programming
312 1654 Minimum Jumps to Reach Home Java Medium BFS
313 1604 Alert Using Same Key-Card Three or More Times in a One Hour Period Java Medium Hash Table
314 209 Minimum Size Subarray Sum Java Medium Sliding Window
315 969 Pancake Sorting Java Medium Sorting
316 658 Find K Closest Elements Java Medium Binary Search
317 843 Guess the Word Java Hard Greedy
318 1648 Sell Diminishing-Valued Colored Balls Java Medium Greedy
319 552 Student Attendance Record II Java Hard Dynamic Programming
320 1094 Car Pooling Java Medium Heap
321 417 Pacific Atlantic Water Flow Java Medium DFS
322 305 Number of Islands II Java Medium Union Find
323 767 Reorganize String Java Medium Greedy
324 1293 Shortest Path in a Grid with Obstacles Elimination Java Hard DFS
325 304 Range Sum Query 2D - Immutable Java Medium Dynamic Programming
326 792 Number of Matching Subsequences Java Medium String
327 489 Robot Room Cleaner Java Hard DFS
328 504 Base 7 Java Easy Math
329 2007 Find Original Array From Doubled Array Java Medium Hash Table
330 1209 Remove All Adjacent Duplicates in String II Java Medium Stack
331 1047 Remove All Adjacent Duplicates in String Java Easy Stack
332 430 Flatten a Multilevel Doubly Linked List Java Medium DFS
333 1472 Design Browser History Java Medium Stack
334 343 Integer Break Java Medium Dynamic Programming
335 1029 Two City Scheduling Java Medium Sorting Greedy
336 1396 Design Underground System Java Medium Design
337 24 Swap Nodes in Pairs Java Medium Linked List
338 1091 Shortest Path in Binary Matrix Java Medium BFS A*
339 399 Evaluate Division Java Medium DFS
340 394 Decode String Java Medium Stack
341 542 01 Matrix Java Medium BFS
342 1169 Invalid Transactions Java Medium Sorting
343 723 Candy Crush Java Medium Simulation
344 1244 Design A Leaderboard Java Medium Design
345 1274 Number of Ships in a Rectangle Java Hard Devide and Conquer
346 987 Vertical Order Traversal of a Binary Tree Java Hard Tree
347 445 Add Two Numbers II Java Medium Stack
348 1583 Count Unhappy Friends Java Medium Simulation
349 314 Binary Tree Vertical Order Traversal Java Medium Tree
350 611 Valid Triangle Number Java Medium Greedy Two Pointer
351 315 Count of Smaller Numbers After Self Java Hard Merge Sort
352 390 Elimination Game Java Medium Math Recursion
353 1614 Maximum Nesting Depth of the Parentheses Java Easy Stack
354 582 Kill Process Java Medium Tree
355 1188 Design Bounded Blocking Queue Java Medium Concurrency
356 694 Number of Distinct Islands Java Medium DFS
357 31 Next Permutation Java Medium Two Pointers

About

Solutions&notes of LeeCode problems in Java, C++ and Python


Languages

Language:Java 94.5%Language:C++ 3.5%Language:Python 2.0%