Solutions are written in Golang or Java.
Here are the result: (higher is better, max at 100)
difficulty | total | runtime beat(avg) | memory beat(avg) |
---|---|---|---|
Easy | 102 | 87.21 | 49.63 |
Medium | 93 | 73.99 | 46.39 |
Hard | 9 | 37.05 | 53.38 |
Total | 204 | 78.97 | 48.32 |
id | title | difficulty | runtime beat | memory beat | lang/ code |
---|---|---|---|---|---|
1 | Two Sum | Easy | 96.22 | 48.53 | Go |
1 | Two Sum | Easy | 98.93 | 38.10 | Java |
2 | Add Two Numbers | Medium | 79.53 | 42.10 | Java |
3 | Longest Substring Without Repeating Characters | Medium | 65.68 | 36.40 | Java |
4 | Median of Two Sorted Arrays | Hard | 99.97 | 46.60 | Java |
5 | Longest Palindromic Substring | Medium | 93.56 | 81.55 | Go |
7 | Reverse Integer | Medium | 100.00 | 56.43 | Go |
7 | Reverse Integer | Medium | 24.62 | 33.90 | Java |
9 | Palindrome Number | Easy | 85.17 | 100.00 | Go |
11 | Container With Most Water | Medium | 95.43 | 94.87 | Java |
13 | Roman to Integer | Easy | 97.07 | 100.00 | Go |
13 | Roman to Integer | Easy | 59.18 | 36.10 | Java |
14 | Longest Common Prefix | Easy | 40.73 | 37.18 | Go |
14 | Longest Common Prefix | Easy | 74.39 | 35.80 | Java |
17 | Letter Combinations of a Phone Number | Medium | 59.45 | 35.80 | Java |
19 | Remove Nth Node From End of List | Medium | 100.00 | 73.24 | Go |
19 | Remove Nth Node From End of List | Medium | 100.00 | 34.90 | Java |
20 | Valid Parentheses | Easy | 100.00 | 98.86 | Go |
20 | Valid Parentheses | Easy | 98.86 | 34.10 | Java |
21 | Merge Two Sorted Lists | Easy | 22.11 | 8.08 | Java |
22 | Generate Parentheses | Medium | 94.68 | 36.20 | Java |
26 | Remove Duplicates from Sorted Array | Easy | 93.75 | 100.00 | Go |
26 | Remove Duplicates from Sorted Array | Easy | 97.79 | 41.10 | Java |
27 | Remove Element | Easy | 100.00 | 36.20 | Java |
28 | Find the Index of the First Occurrence in a String | Medium | 100.00 | 47.07 | Go |
28 | Find the Index of the First Occurrence in a String | Medium | 5.64 | 37.30 | Java |
33 | Search in Rotated Sorted Array | Medium | 100.00 | 40.20 | Java |
34 | Find First and Last Position of Element in Sorted Array | Medium | 14.89 | 43.70 | Java |
35 | Search Insert Position | Easy | 100.00 | 100.00 | Java |
36 | Valid Sudoku | Medium | 70.89 | 43.90 | Java |
38 | Count and Say | Medium | 29.42 | 36.40 | Java |
41 | First Missing Positive | Hard | 37.60 | 35.90 | Java |
42 | Trapping Rain Water | Hard | 5.71 | 38.70 | Java |
46 | Permutations | Medium | 97.03 | 37.30 | Java |
48 | Rotate Image | Medium | 100.00 | 36.10 | Java |
49 | Group Anagrams | Medium | 31.73 | 40.90 | Java |
53 | Maximum Subarray | Medium | 99.65 | 99.39 | Go |
54 | Spiral Matrix | Medium | 57.99 | 61.07 | Go |
55 | Jump Game | Medium | 99.09 | 40.80 | Java |
56 | Merge Intervals | Medium | 80.15 | 61.34 | Go |
62 | Unique Paths | Medium | 100.00 | 32.90 | Java |
66 | Plus One | Easy | 100.00 | 35.20 | Java |
69 | Sqrt(x) | Easy | 100.00 | 33.40 | Java |
70 | Climbing Stairs | Easy | 100.00 | 78.18 | Go |
70 | Climbing Stairs | Easy | 100.00 | 5.26 | Java |
73 | Set Matrix Zeroes | Medium | 17.29 | 49.80 | Java |
75 | Sort Colors | Medium | 100.00 | 35.30 | Java |
78 | Subsets | Medium | 5.09 | 37.60 | Java |
84 | Largest Rectangle in Histogram | Hard | 21.90 | 75.00 | Java |
88 | Merge Sorted Array | Easy | 67.89 | 53.27 | Go |
88 | Merge Sorted Array | Easy | 100.00 | 36.30 | Java |
91 | Decode Ways | Medium | 98.53 | 34.30 | Java |
94 | Binary Tree Inorder Traversal | Easy | 100.00 | 34.70 | Java |
98 | Validate Binary Search Tree | Medium | 7.25 | 39.90 | Java |
101 | Symmetric Tree | Easy | 100.00 | 39.40 | Java |
102 | Binary Tree Level Order Traversal | Medium | 100.00 | 36.10 | Java |
103 | Binary Tree Zigzag Level Order Traversal | Medium | 92.68 | 36.30 | Java |
104 | Maximum Depth of Binary Tree | Easy | 89.41 | 60.14 | Go |
104 | Maximum Depth of Binary Tree | Easy | 100.00 | 94.62 | Java |
105 | Construct Binary Tree from Preorder and Inorder Traversal | Medium | 45.14 | 36.20 | Java |
106 | Construct Binary Tree from Inorder and Postorder Traversal | Medium | 38.33 | 36.20 | Java |
108 | Convert Sorted Array to Binary Search Tree | Easy | 100.00 | 37.30 | Java |
116 | Populating Next Right Pointers in Each Node | Medium | 22.18 | 37.90 | Java |
118 | Pascal's Triangle | Easy | 100.00 | 14.91 | Go |
118 | Pascal's Triangle | Easy | 100.00 | 7.23 | Java |
120 | Triangle | Medium | 30.93 | 36.70 | Java |
121 | Best Time to Buy and Sell Stock | Easy | 96.22 | 29.82 | Go |
121 | Best Time to Buy and Sell Stock | Easy | 79.37 | 100.00 | Java |
122 | Best Time to Buy and Sell Stock II | Medium | 91.86 | 36.90 | Java |
124 | Binary Tree Maximum Path Sum | Hard | 99.80 | 98.81 | Java |
125 | Valid Palindrome | Easy | 100.00 | 93.03 | Go |
125 | Valid Palindrome | Easy | 56.06 | 37.50 | Java |
127 | Word Ladder | Hard | 21.82 | 38.60 | Java |
128 | Longest Consecutive Sequence | Medium | 5.00 | 39.80 | Java |
130 | Surrounded Regions | Medium | 17.47 | 40.60 | Java |
134 | Gas Station | Medium | 100.00 | 37.80 | Java |
136 | Single Number | Easy | 100.00 | 39.20 | Java |
138 | Copy List with Random Pointer | Medium | 74.63 | 35.50 | Java |
139 | Word Break | Medium | 99.58 | 35.60 | Java |
141 | Linked List Cycle | Easy | 6.73 | 38.80 | Java |
146 | LRU Cache | Medium | 75.89 | 56.40 | Java |
148 | Sort List | Medium | 5.03 | 94.74 | Java |
150 | Evaluate Reverse Polish Notation | Medium | 79.58 | 37.80 | Java |
155 | Min Stack | Medium | 95.40 | 65.30 | Go |
155 | Min Stack | Medium | 89.12 | 40.20 | Java |
160 | Intersection of Two Linked Lists | Easy | 13.81 | 38.70 | Java |
162 | Find Peak Element | Medium | 100.00 | 37.60 | Java |
169 | Majority Element | Easy | 46.06 | 39.90 | Java |
171 | Excel Sheet Column Number | Easy | 5.73 | 100.00 | Java |
172 | Factorial Trailing Zeroes | Medium | 100.00 | 33.50 | Java |
179 | Largest Number | Medium | 47.12 | 36.20 | Java |
189 | Rotate Array | Medium | 52.39 | 37.50 | Java |
190 | Reverse Bits | Easy | 100.00 | 99.43 | Go |
190 | Reverse Bits | Easy | 100.00 | 29.70 | Java |
191 | Number of 1 Bits | Easy | 100.00 | 74.84 | Go |
191 | Number of 1 Bits | Easy | 100.00 | 33.40 | Java |
198 | House Robber | Medium | 100.00 | 100.00 | Go |
198 | House Robber | Medium | 100.00 | 34.20 | Java |
200 | Number of Islands | Medium | 100.00 | 40.70 | Java |
202 | Happy Number | Easy | 63.75 | 33.70 | Java |
204 | Count Primes | Medium | 65.27 | 50.30 | Go |
204 | Count Primes | Medium | 70.90 | 34.50 | Java |
206 | Reverse Linked List | Easy | 100.00 | 37.20 | Java |
208 | Implement Trie (Prefix Tree) | Medium | 76.72 | 52.90 | Java |
215 | Kth Largest Element in an Array | Medium | 53.27 | 52.33 | Java |
217 | Contains Duplicate | Easy | 57.49 | 43.80 | Java |
219 | Contains Duplicate II | Easy | 88.07 | 43.51 | Go |
230 | Kth Smallest Element in a BST | Medium | 73.05 | 37.40 | Java |
234 | Palindrome Linked List | Easy | 39.47 | 40.40 | Java |
236 | Lowest Common Ancestor of a Binary Tree | Medium | 77.68 | 34.30 | Java |
237 | Delete Node in a Linked List | Medium | 100.00 | 100.00 | Go |
237 | Delete Node in a Linked List | Medium | 100.00 | 36.20 | Java |
238 | Product of Array Except Self | Medium | 13.24 | 42.50 | Java |
239 | Sliding Window Maximum | Hard | 23.60 | 40.80 | Java |
240 | Search a 2D Matrix II | Medium | 100.00 | 42.50 | Java |
242 | Valid Anagram | Easy | 100.00 | 100.00 | Go |
242 | Valid Anagram | Easy | 79.98 | 36.30 | Java |
268 | Missing Number | Easy | 97.20 | 54.76 | Go |
268 | Missing Number | Easy | 100.00 | 38.80 | Java |
278 | First Bad Version | Easy | 100.00 | 66.86 | Go |
279 | Perfect Squares | Medium | 93.71 | 35.40 | Java |
283 | Move Zeroes | Easy | 100.00 | 37.90 | Java |
287 | Find the Duplicate Number | Medium | 27.12 | 36.70 | Java |
289 | Game of Life | Medium | 100.00 | 34.60 | Java |
295 | Find Median from Data Stream | Hard | 6.42 | 67.10 | Java |
300 | Longest Increasing Subsequence | Medium | 64.56 | 36.90 | Java |
315 | Count of Smaller Numbers After Self | Hard | 16.59 | 38.90 | Java |
322 | Coin Change | Medium | 84.99 | 94.67 | Java |
326 | Power of Three | Easy | 84.01 | 100.00 | Go |
326 | Power of Three | Easy | 80.68 | 35.60 | Java |
328 | Odd Even Linked List | Medium | 100.00 | 36.30 | Java |
334 | Increasing Triplet Subsequence | Medium | 100.00 | 38.60 | Java |
341 | Flatten Nested List Iterator | Medium | 69.50 | 37.20 | Java |
344 | Reverse String | Easy | 83.46 | 86.51 | Go |
344 | Reverse String | Easy | 100.00 | 51.20 | Java |
347 | Top K Frequent Elements | Medium | 32.13 | 40.80 | Java |
349 | Intersection of Two Arrays | Easy | 37.05 | 37.50 | Java |
350 | Intersection of Two Arrays II | Easy | 93.37 | 37.60 | Java |
371 | Sum of Two Integers | Medium | 100.00 | 32.80 | Java |
378 | Kth Smallest Element in a Sorted Matrix | Medium | 39.29 | 70.27 | Java |
380 | Insert Delete GetRandom O(1) | Medium | 58.14 | 46.80 | Java |
384 | Shuffle an Array | Medium | 87.41 | 54.81 | Go |
384 | Shuffle an Array | Medium | 9.71 | 61.30 | Java |
387 | First Unique Character in a String | Easy | 89.98 | 68.67 | Go |
387 | First Unique Character in a String | Easy | 60.56 | 38.40 | Java |
412 | Fizz Buzz | Easy | 92.66 | 99.88 | Go |
429 | N-ary Tree Level Order Traversal | Medium | 99.97 | 40.50 | Java |
454 | 4Sum II | Medium | 43.70 | 12.00 | Java |
461 | Hamming Distance | Easy | 45.05 | 72.97 | Go |
495 | Teemo Attacking | Easy | 78.38 | 32.43 | Go |
509 | Fibonacci Number | Easy | 100.00 | 33.10 | Java |
535 | Encode and Decode TinyURL | Medium | 100.00 | 100.00 | Java |
557 | Reverse Words in a String III | Easy | 83.82 | 37.90 | Java |
559 | Maximum Depth of N-ary Tree | Easy | 100.00 | 38.60 | Java |
561 | Array Partition | Easy | 92.74 | 39.10 | Java |
589 | N-ary Tree Preorder Traversal | Easy | 98.44 | 40.30 | Java |
590 | N-ary Tree Postorder Traversal | Easy | 98.37 | 39.50 | Java |
617 | Merge Two Binary Trees | Easy | 100.00 | 100.00 | Java |
654 | Maximum Binary Tree | Medium | 100.00 | 37.80 | Java |
657 | Robot Return to Origin | Easy | 97.92 | 37.80 | Java |
700 | Search in a Binary Search Tree | Easy | 100.00 | 38.40 | Java |
701 | Insert into a Binary Search Tree | Medium | 100.00 | 39.10 | Java |
709 | To Lower Case | Easy | 100.00 | 34.10 | Java |
728 | Self Dividing Numbers | Easy | 73.44 | 33.90 | Java |
771 | Jewels and Stones | Easy | 94.30 | 34.60 | Java |
804 | Unique Morse Code Words | Easy | 100.00 | 35.60 | Java |
807 | Max Increase to Keep City Skyline | Medium | 100.00 | 43.90 | Java |
811 | Subdomain Visit Count | Medium | 82.69 | 37.10 | Java |
814 | Binary Tree Pruning | Medium | 100.00 | 34.60 | Java |
821 | Shortest Distance to a Character | Easy | 99.14 | 36.40 | Java |
832 | Flipping an Image | Easy | 100.00 | 37.30 | Java |
852 | Peak Index in a Mountain Array | Medium | 100.00 | 38.40 | Java |
861 | Score After Flipping Matrix | Medium | 100.00 | 37.70 | Java |
876 | Middle of the Linked List | Easy | 100.00 | 34.10 | Java |
883 | Projection Area of 3D Shapes | Easy | 100.00 | 42.50 | Java |
890 | Find and Replace Pattern | Medium | 94.38 | 36.30 | Java |
897 | Increasing Order Search Tree | Easy | 100.00 | 43.80 | Java |
905 | Sort Array By Parity | Easy | 100.00 | 39.90 | Java |
918 | Maximum Sum Circular Subarray | Medium | 87.92 | 69.08 | Go |
921 | Minimum Add to Make Parentheses Valid | Medium | 100.00 | 34.10 | Java |
922 | Sort Array By Parity II | Easy | 99.66 | 41.60 | Java |
929 | Unique Email Addresses | Easy | 96.92 | 38.10 | Java |
938 | Range Sum of BST | Easy | 100.00 | 45.20 | Java |
961 | N-Repeated Element in Size 2N Array | Easy | 100.00 | 38.50 | Java |
965 | Univalued Binary Tree | Easy | 100.00 | 34.40 | Java |
977 | Squares of a Sorted Array | Easy | 69.25 | 40.20 | Java |
1002 | Find Common Characters | Easy | 100.00 | 100.00 | Java |
1008 | Construct Binary Search Tree from Preorder Traversal | Medium | 100.00 | 35.90 | Java |
1021 | Remove Outermost Parentheses | Easy | 98.15 | 37.20 | Java |
1038 | Binary Search Tree to Greater Sum Tree | Medium | 100.00 | 100.00 | Java |
1047 | Remove All Adjacent Duplicates In String | Easy | 71.81 | 37.20 | Java |
1051 | Height Checker | Easy | 87.78 | 34.70 | Java |
1108 | Defanging an IP Address | Easy | 100.00 | 100.00 | Java |
1122 | Relative Sort Array | Easy | 100.00 | 36.20 | Java |
1160 | Find Words That Can Be Formed by Characters | Easy | 96.79 | 36.90 | Java |
1207 | Unique Number of Occurrences | Easy | 88.45 | 35.50 | Java |
1221 | Split a String in Balanced Strings | Easy | 100.00 | 33.80 | Java |
1252 | Cells with Odd Values in a Matrix | Easy | 90.64 | 35.80 | Java |
1266 | Minimum Time Visiting All Points | Easy | 84.70 | 43.10 | Java |
1281 | Subtract the Product and Sum of Digits of an Integer | Easy | 100.00 | 32.90 | Java |
1282 | Group the People Given the Group Size They Belong To | Medium | 86.10 | 37.40 | Java |
1295 | Find Numbers with Even Number of Digits | Easy | 98.57 | 38.80 | Java |
1614 | Maximum Nesting Depth of the Parentheses | Easy | 100.00 | 63.77 | Go |
2248 | Intersection of Multiple Arrays | Easy | 78.26 | 89.13 | Go |