0001 |
Two Sum |
C++ Java Kotlin |
44.52% |
Easy |
Array | Hash Table |
0002 |
Add Two Numbers |
C++ Java |
31.78% |
Medium |
Linked List | Math |
0003 |
Longest Substring Without Repeating Characters |
C++ Java Kotlin |
28.84% |
Medium |
Hash Table | Two Pointers | String | Sliding Window |
0004 |
Median of Two Sorted Arrays |
C++ Java |
27.26% |
Hard |
Array | Binary Search | Divide and Conquer |
0005 |
Longest Palindromic Substring |
C++ Java |
27.89% |
Medium |
String | Dynamic Programming |
0006 |
ZigZag Conversion |
C++ Java |
33.20% |
Medium |
String |
0007 |
Reverse Integer |
C++ Java Kotlin |
25.49% |
Easy |
Math |
0008 |
String to Integer (atoi) |
C++ |
14.80% |
Medium |
Math | String |
0009 |
Palindrome Number |
C++ Java Kotlin |
44.84% |
Easy |
Math |
0011 |
Container With Most Water |
Java |
46.61% |
Medium |
Array | Two Pointers |
0012 |
Integer to Roman |
C++ Java |
52.06% |
Medium |
Math | String |
0013 |
Roman to Integer |
C++ Java |
53.25% |
Easy |
Math | String |
0014 |
Longest Common Prefix |
Java |
34.12% |
Easy |
String |
0015 |
3Sum |
Java |
24.74% |
Medium |
Array | Two Pointers |
0016 |
3Sum Closest |
Java |
45.75% |
Medium |
Array | Two Pointers |
0017 |
Letter Combinations of a Phone Number |
C++ Java |
42.94% |
Medium |
String | Backtracking |
0018 |
4Sum |
Java |
31.47% |
Medium |
Array | Hash Table | Two Pointers |
0019 |
Remove Nth Node From End of List |
Java |
34.59% |
Medium |
Linked List | Two Pointers |
0020 |
Valid Parentheses |
Java |
37.22% |
Easy |
String | Stack |
0021 |
Merge Two Sorted Lists |
Java |
48.81% |
Easy |
Linked List |
0022 |
Generate Parentheses |
C++ |
56.94% |
Medium |
String | Backtracking |
0023 |
Merge k Sorted Lists |
C++ Java |
35.99% |
Hard |
Linked List | Divide and Conquer | Heap |
0024 |
Swap Nodes in Pairs |
C++ Java |
46.26% |
Medium |
Linked List |
0025 |
Reverse Nodes in k-Group |
C++ |
37.82% |
Hard |
Linked List |
0026 |
Remove Duplicates from Sorted Array |
C++ Java |
41.87% |
Easy |
Array | Two Pointers |
0027 |
Remove Element |
C++ Java Kotlin |
45.55% |
Easy |
Array | Two Pointers |
0028 |
Implement strStr() |
C++ Java |
32.87% |
Easy |
Two Pointers | String |
0029 |
Divide Two Integers |
C++ Java |
16.15% |
Medium |
Math | Binary Search |
0031 |
Next Permutation |
C++ |
31.04% |
Medium |
Array |
0035 |
Search Insert Position |
Java |
41.18% |
Easy |
Array | Binary Search |
0039 |
Combination Sum |
C++ Java |
50.64% |
Medium |
Array | Backtracking |
0040 |
Combination Sum II |
C++ Java |
43.39% |
Medium |
Array | Backtracking |
0041 |
First Missing Positive |
Java |
29.69% |
Hard |
Array |
0045 |
Jump Game II |
C++ |
28.76% |
Hard |
Array | Greedy |
0046 |
Permutations |
C++ Java |
57.33% |
Medium |
Backtracking |
0047 |
Permutations II |
C++ |
42.12% |
Medium |
Backtracking |
0048 |
Rotate Image |
C++ Java |
50.50% |
Medium |
Array |
0049 |
Group Anagrams |
C++ Java |
49.22% |
Medium |
Hash Table | String |
0050 |
Pow(x, n) |
C++ Java |
28.54% |
Medium |
Math | Binary Search |
0053 |
Maximum Subarray |
C++ Java |
44.52% |
Easy |
Array | Divide and Conquer | Dynamic Programming |
0054 |
Spiral Matrix |
C++ Java |
31.37% |
Medium |
Array |
0055 |
Jump Game |
C++ Java |
32.55% |
Medium |
Array | Greedy |
0059 |
Spiral Matrix II |
C++ Java |
48.23% |
Medium |
Array |
0062 |
Unique Paths |
C++ Java |
49.11% |
Medium |
Array | Dynamic Programming |
0063 |
Unique Paths II |
C++ Java |
33.68% |
Medium |
Array | Dynamic Programming |
0064 |
Minimum Path Sum |
C++ Java |
48.56% |
Medium |
Array | Dynamic Programming |
0066 |
Plus One |
Java |
41.65% |
Easy |
Array |
0069 |
Sqrt(x) |
C++ Java |
32.07% |
Easy |
Math | Binary Search |
0070 |
Climbing Stairs |
C++ Java |
45.04% |
Easy |
Dynamic Programming |
0072 |
Edit Distance |
C++ Java |
39.33% |
Hard |
String | Dynamic Programming |
0073 |
Set Matrix Zeroes |
C++ Java |
40.81% |
Medium |
Array |
0075 |
Sort Colors |
C++ Java |
43.21% |
Medium |
Array | Two Pointers | Sort |
0078 |
Subsets |
C++ Java |
54.98% |
Medium |
Array | Backtracking | Bit Manipulation |
0089 |
Gray Code |
C++ Java |
46.69% |
Medium |
Backtracking |
0090 |
Subsets II |
C++ Java |
43.64% |
Medium |
Array | Backtracking |
0093 |
Restore IP Addresses |
C++ |
32.39% |
Medium |
String | Backtracking |
0098 |
Validate Binary Search Tree |
C++ Java |
26.26% |
Medium |
Tree | Depth-first Search |
0100 |
Same Tree |
Java |
50.72% |
Easy |
Tree | Depth-first Search |
0101 |
Symmetric Tree |
C++ |
44.36% |
Easy |
Tree | Depth-first Search | Breadth-first Search |
0104 |
Maximum Depth of Binary Tree |
C++ |
62.03% |
Easy |
Tree | Depth-first Search |
0111 |
Minimum Depth of Binary Tree |
C++ |
35.86% |
Easy |
Tree | Depth-first Search | Breadth-first Search |
0113 |
Path Sum II |
C++ |
42.14% |
Medium |
Tree | Depth-first Search |
0121 |
Best Time to Buy and Sell Stock |
C++ Java |
48.18% |
Easy |
Array | Dynamic Programming |
0122 |
Best Time to Buy and Sell Stock II |
C++ Java |
53.02% |
Easy |
Array | Greedy |
0128 |
Longest Consecutive Sequence |
C++ |
42.65% |
Hard |
Array | Union Find |
0130 |
Surrounded Regions |
C++ |
23.94% |
Medium |
Depth-first Search | Breadth-first Search | Union Find |
0134 |
Gas Station |
C++ Java |
34.97% |
Medium |
Greedy |
0136 |
Single Number |
C++ Java |
61.41% |
Easy |
Hash Table | Bit Manipulation |
0137 |
Single Number II |
C++ |
47.06% |
Medium |
Bit Manipulation |
0141 |
Linked List Cycle |
Java |
38.08% |
Easy |
Linked List | Two Pointers |
0142 |
Linked List Cycle II |
Java |
33.42% |
Medium |
Linked List | Two Pointers |
0146 |
LRU Cache |
C++ Java |
27.22% |
Medium |
Design |
0148 |
Sort List |
Java |
37.17% |
Medium |
Linked List | Sort |
0167 |
Two Sum II - Input array is sorted |
C++ |
51.34% |
Easy |
Array | Two Pointers | Binary Search |
0169 |
Majority Element |
C++ Java |
54.07% |
Easy |
Array | Divide and Conquer | Bit Manipulation |
0187 |
Repeated DNA Sequences |
C++ Java |
36.88% |
Medium |
Hash Table | Bit Manipulation |
0190 |
Reverse Bits |
C++ Java |
32.86% |
Easy |
Bit Manipulation |
0191 |
Number of 1 Bits |
C++ Java |
44.77% |
Easy |
Bit Manipulation |
0198 |
House Robber |
C++ Java |
41.30% |
Easy |
Dynamic Programming |
0201 |
Bitwise AND of Numbers Range |
C++ |
36.51% |
Medium |
Bit Manipulation |
0209 |
Minimum Size Subarray Sum |
C++ |
35.59% |
Medium |
Array | Two Pointers | Binary Search |
0215 |
Kth Largest Element in an Array |
C++ Java |
49.71% |
Medium |
Divide and Conquer | Heap |
0216 |
Combination Sum III |
C++ Java |
52.97% |
Medium |
Array | Backtracking |
0217 |
Contains Duplicate |
C++ Java |
53.28% |
Easy |
Array | Hash Table |
0230 |
Kth Smallest Element in a BST |
Java |
53.25% |
Medium |
Binary Search | Tree |
0231 |
Power of Two |
Java |
42.33% |
Easy |
Math | Bit Manipulation |
0237 |
Delete Node in a Linked List |
C++ Java |
55.45% |
Easy |
Linked List |
0238 |
Product of Array Except Self |
C++ Java |
56.50% |
Medium |
Array |
0240 |
Search a 2D Matrix II |
C++ Java |
41.38% |
Medium |
Binary Search | Divide and Conquer |
0260 |
Single Number III |
C++ |
58.13% |
Medium |
Bit Manipulation |
0263 |
Ugly Number |
C++ Java |
40.90% |
Easy |
Math |
0268 |
Missing Number |
Java |
49.22% |
Easy |
Array | Math | Bit Manipulation |
0279 |
Perfect Squares |
C++ Java |
43.03% |
Medium |
Math | Dynamic Programming | Breadth-first Search |
0283 |
Move Zeroes |
Java |
55.11% |
Easy |
Array | Two Pointers |
0287 |
Find the Duplicate Number |
C++ |
50.97% |
Medium |
Array | Two Pointers | Binary Search |
0303 |
Range Sum Query - Immutable |
C++ Java |
39.64% |
Easy |
Dynamic Programming |
0318 |
Maximum Product of Word Lengths |
C++ Java |
49.19% |
Medium |
Bit Manipulation |
0338 |
Counting Bits |
C++ Java |
65.63% |
Medium |
Dynamic Programming | Bit Manipulation |
0342 |
Power of Four |
C++ Java |
40.69% |
Easy |
Bit Manipulation |
0343 |
Integer Break |
C++ |
48.48% |
Medium |
Math | Dynamic Programming |
0344 |
Reverse String |
C++ Java |
64.03% |
Easy |
Two Pointers | String |
0349 |
Intersection of Two Arrays |
C++ |
56.60% |
Easy |
Hash Table | Two Pointers | Binary Search | Sort |
0357 |
Count Numbers with Unique Digits |
C++ Java |
47.40% |
Medium |
Math | Dynamic Programming | Backtracking |
0371 |
Sum of Two Integers |
C++ |
50.79% |
Easy |
Bit Manipulation |
0387 |
First Unique Character in a String |
C++ Java |
50.64% |
Easy |
Hash Table | String |
0389 |
Find the Difference |
C++ |
53.66% |
Easy |
Hash Table | Bit Manipulation |
0392 |
Is Subsequence |
C++ Java |
47.48% |
Easy |
Binary Search | Dynamic Programming | Greedy |
0397 |
Integer Replacement |
C++ Java |
31.85% |
Medium |
Math | Bit Manipulation |
0401 |
Binary Watch |
C++ |
45.78% |
Easy |
Backtracking | Bit Manipulation |
0412 |
Fizz Buzz |
C++ Java |
60.09% |
Easy |
|
0421 |
Maximum XOR of Two Numbers in an Array |
C++ |
51.76% |
Medium |
Bit Manipulation | Trie |
0435 |
Non-overlapping Intervals |
C++ Java |
41.89% |
Medium |
Greedy |
0452 |
Minimum Number of Arrows to Burst Balloons |
C++ Java |
47.24% |
Medium |
Greedy |
0454 |
4Sum II |
C++ Java |
51.44% |
Medium |
Hash Table | Binary Search |
0455 |
Assign Cookies |
C++ Java |
48.78% |
Easy |
Greedy |
0461 |
Hamming Distance |
C++ |
70.63% |
Easy |
Bit Manipulation |
0473 |
Matchsticks to Square |
C++ |
36.48% |
Medium |
Depth-first Search |
0476 |
Number Complement |
C++ |
62.70% |
Easy |
Bit Manipulation |
0477 |
Total Hamming Distance |
C++ |
49.55% |
Medium |
Bit Manipulation |
0542 |
01 Matrix |
C++ |
36.76% |
Medium |
Depth-first Search | Breadth-first Search |
0643 |
Maximum Average Subarray I |
C++ |
40.14% |
Easy |
Array |
0679 |
24 Game |
Java |
43.75% |
Hard |
Depth-first Search |
0690 |
Employee Importance |
C++ |
54.84% |
Easy |
Hash Table | Depth-first Search | Breadth-first Search |
0733 |
Flood Fill |
C++ |
51.69% |
Easy |
Depth-first Search |
0746 |
Min Cost Climbing Stairs |
C++ Java |
48.10% |
Easy |
Array | Dynamic Programming |
0771 |
Jewels and Stones |
Kotlin |
83.61% |
Easy |
Hash Table |
0828 |
Unique Letter String |
Java |
41.27% |
Hard |
Two Pointers |
0832 |
Flipping an Image |
Java |
73.29% |
Easy |
Array |
0833 |
Find And Replace in String |
Java |
47.58% |
Medium |
String |
0834 |
Sum of Distances in Tree |
Java |
40.75% |
Hard |
Tree | Depth-first Search |
0836 |
Rectangle Overlap |
Java |
47.27% |
Easy |
Math |
0840 |
Magic Squares In Grid |
C++ Java |
36.15% |
Easy |
Array |
0841 |
Keys and Rooms |
C++ Java |
61.19% |
Medium |
Depth-first Search | Graph |
0848 |
Shifting Letters |
C++ Java |
41.92% |
Medium |
String |
0849 |
Maximize Distance to Closest Person |
C++ Java |
41.49% |
Easy |
Array |
0851 |
Loud and Rich |
C++ Java |
48.91% |
Medium |
Depth-first Search |
0852 |
Peak Index in a Mountain Array |
Java |
70.07% |
Easy |
Binary Search |
0853 |
Car Fleet |
C++ |
40.70% |
Medium |
Sort |
0860 |
Lemonade Change |
C++ Java |
50.78% |
Easy |
Greedy |
0861 |
Score After Flipping Matrix |
C++ Java |
70.45% |
Medium |
Greedy |
0898 |
Bitwise ORs of Subarrays |
C++ |
35.31% |
Medium |
Dynamic Programming | Bit Manipulation |
0905 |
Sort Array By Parity |
C++ |
72.78% |
Easy |
Array |
0945 |
Minimum Increment to Make Array Unique |
C++ Java |
43.64% |
Medium |
Array |
0946 |
Validate Stack Sequences |
C++ Java |
58.12% |
Medium |
Stack |
0948 |
Bag of Tokens |
C++ Java |
39.64% |
Medium |
Greedy |
0953 |
Verifying an Alien Dictionary |
C++ |
55.92% |
Easy |
Hash Table |
0954 |
Array of Doubled Pairs |
C++ |
35.15% |
Medium |
Array | Hash Table |
0955 |
Delete Columns to Make Sorted II |
C++ |
32.13% |
Medium |
Greedy |
0961 |
N-Repeated Element in Size 2N Array |
Kotlin |
72.43% |
Easy |
Hash Table |
1002 |
Find Common Characters |
C++ Java |
65.67% |
Easy |
Array | Hash Table |
1089 |
Duplicate Zeros |
C++ |
58.91% |
Easy |
Array |
1090 |
Largest Values From Labels |
C++ |
57.45% |
Medium |
Hash Table | Greedy |
1091 |
Shortest Path in Binary Matrix |
C++ |
36.23% |
Medium |
Breadth-first Search |
1092 |
Shortest Common Supersequence |
C++ |
48.32% |
Hard |
Dynamic Programming |
1160 |
Find Words That Can Be Formed by Characters |
Kotlin |
68.63% |
Easy |
Array | Hash Table |