| 0001 |
Two Sum |
C |
no |
0ms |
O(n) |
Easy |
Array |
| 0002 |
Add Two Numbers |
C |
no |
32ms |
O(1) |
Medium |
Array |
| 0003 |
Longest Substring Without Repeating Characters |
C |
no |
18ms |
O(n) |
Medium |
Array |
| 0004 |
Median of Two Sorted Arrays |
C |
no |
45ms |
O(1) |
Hard |
Binary |
| 0005 |
Longest Palindromic Substring |
C |
no |
9ms |
O(1) |
Medium |
Array |
| 0006 |
ZigZag Conversion |
C# |
no |
|
O(n) |
Medium |
Array |
| 0007 |
Reverse Integer |
C |
no |
15ms |
O(1) |
Easy |
Digital |
| 0008 |
String to Integer (atoi) |
C |
no |
15ms |
O(1) |
Medium |
Digital |
| 0009 |
Palindrome Number |
C |
no |
185ms |
O(1) |
Easy |
Digital |
| 0010 |
Regular Expression Matching |
C# |
no |
|
O(m*n) |
Hard |
DP |
| 0011 |
Container With Most Water |
C |
O(n) |
6ms |
O(1) |
Medium |
Greedy |
| 0012 |
Integer to Roman |
C,C++,C# |
O(n) |
49ms |
O(1) |
Medium |
Digital |
| 0013 |
Roman to Integer |
C++ |
O(n) |
85ms |
O(1) |
Easy |
Digital |
| 0014 |
Longest Common Prefix |
C |
O(n*n) |
3ms |
O(n) |
Easy |
Array |
| 0015 |
3Sum |
C |
O(n*n) |
97.96% |
O(n*n) |
Medium |
Digital |
| 0016 |
3Sum Closest |
C |
O(n*n) |
6ms |
O(1) |
Medium |
Digital |
| 0017 |
Letter Combinations of a Phone Number |
C,C# |
O(n*m) |
0ms |
O(n) |
Medium |
Queue |
| 0018 |
4Sum |
Java |
O(n*n) |
- |
O(n*n) |
Medium |
Math |
| 0020 |
Valid Parentheses |
[Java] |
O(n) |
- |
O(n) |
Easy |
Stack |
| 0023 |
Merge k Sorted Lists |
C,Java |
O(n*logn) |
9ms |
O(n) |
Hard |
Heap |
| 0025 |
Reverse Nodes in k-Group |
C,Java |
O(n) |
6ms |
O(1) |
Hard |
Linked |
| 0030 |
Substring with Concatenation of All Words |
Java |
O(n) |
23ms |
O(n) |
Hard |
String |
| 0032 |
Longest Valid Parentheses |
C |
O(n) |
6ms |
O(n) |
Hard |
DP |
| 0037 |
Sudoku Solver |
C |
O(n) |
0ms |
O(n*n) |
Hard |
BT |
| 0039 |
Combination Sum |
Java |
O(n*n) |
19ms |
O(n*n) |
Medium |
DFS |
| 0040 |
Combination Sum II |
Java |
O(n*n) |
26ms |
O(n*n) |
Medium |
DFS |
| 0041 |
First Missing Positive |
C |
O(n) |
3ms |
O(1) |
Hard |
Array |
| 0042 |
Trapping Rain Water |
C |
O(n) |
6ms |
O(1) |
Hard |
Array |
| 0044 |
Wildcard Matching |
C# |
O(n*n) |
162ms |
O(n*n) |
Hard |
DP |
| 0045 |
Jump Game II |
C |
O(n) |
6ms |
O(1) |
Hard |
Greey |
| 0048 |
Rotate Image |
Java |
O(n*n) |
2ms |
O(1) |
Medium |
Matrix |
| 0050 |
Pow(x, n) |
Java |
O(lgn) |
99.47% |
O(1) |
Medium |
Math |
| 0051 |
N-Queens |
C |
- |
3ms |
O(n*n) |
Hard |
Greey |
| 0053 |
Maximum Subarray |
Java |
O(n) |
17ms |
O(n) |
Easy |
DP |
| 0054 |
Spiral Matrix |
Java |
O(m*n) |
2ms |
O(m*n) |
Medium |
Matrix |
| 0056 |
Merge Intervals |
[Java] |
O(n) |
- |
O(n) |
Medium |
Array |
| 0057 |
Insert Interval |
C |
O(n) |
6ms |
O(n) |
Hard |
Array |
| 0073 |
Set Matrix Zeroes |
Java |
O(m*n) |
1ms |
O(1) |
Medium |
Matrix |
| 0074 |
Search a 2D Matrix |
Java |
O(n) |
1ms |
O(1) |
Medium |
Sort |
| 0075 |
Sort Colors |
Java |
O(n) |
0ms |
O(1) |
Medium |
Array |
| 0105 |
Construct Binary Tree from Preorder and Inorder Traversal |
Java |
O(n) |
99.24% |
O(n) |
Medium |
Tree |
| 0127 |
Word Ladder |
[Java] |
O(n*m*k) |
- |
O(n) |
Medium |
BFS |
| 0136 |
Single Number |
[Java] |
O(n) |
1MS |
O(1) |
Easy |
BIT |
| 0137 |
Single Number II |
[Java] |
O(32n) |
9MS |
O(1) |
Medium |
BIT |
| 0139 |
Word Break |
[Java] |
O(n*n) |
- |
O(n) |
Medium |
DP |
| 0140 |
Word Break II |
[Java] |
O(n*n) |
- |
O(n) |
Hard |
DP |
| 0148 |
Sort List |
Java |
O(nlgn) |
99.91% |
O(1) |
Medium |
Linked |
| 0150 |
Evaluate Reverse Polish Notation |
[Java] |
O(n) |
- |
O(n) |
Medium |
Stack |
| 0168 |
Excel Sheet Column Title |
[Java] |
O(lgn) |
2MS |
O(n) |
Easy |
Math |
| 0171 |
Excel Sheet Column Number |
[Java] |
O(lgn) |
0MS |
O(n) |
Easy |
Math |
| 0172 |
Factorial Trailing Zeroes |
[Java] |
O(lgn) |
1MS |
O(1) |
Easy |
Math |
| 0179 |
Largest Number |
Java |
O(n*n) |
99.89% |
O(n) |
Medium |
Math |
| 0189 |
Rotate Array |
[Java] |
O(n) |
- |
O(1) |
Easy |
Array |
| 0190 |
Reverse Bits |
[Java] |
O(n) |
3MS |
O(1) |
Easy |
BIT |
| 0191 |
Number of 1 Bits |
[Java] |
O(n) |
1MS |
O(1) |
Easy |
BIT |
| 0201 |
Bitwise AND of Numbers Range |
[Java] |
O(n) |
9MS |
O(1) |
Medium |
BIT |
| 0202 |
Happy Number |
[Java] |
- |
5MS |
O(1) |
Easy |
Math |
| 0204 |
Count Primes |
[Java] |
- |
22MS |
O(n) |
Easy |
Math |
| 0206 |
Reverse Linked List |
Java |
O(n) |
0MS |
O(1) |
Easy |
Linked |
| 0208 |
Implement Trie (Prefix Tree) |
C |
O(n) |
39ms |
O(n) |
Medium |
Tree |
| 0215 |
Kth Largest Element in an Array |
[Java] |
O(n*lgn) |
- |
O(1) |
Medium |
Binary |
| 0217 |
Contains Duplicate |
Java |
O(n) |
99.39% |
O(1) |
Easy |
Array |
| 0226 |
Invert Binary Tree |
Java |
O(n) |
0MS |
O(1) |
Easy |
Tree |
| 0231 |
Power of Two |
[Java] |
O(1) |
2MS |
O(1) |
Easy |
BIT |
| 0239 |
Sliding Window Maximum |
[Java] |
O(n) |
- |
O(n*k) |
Hard |
Queue |
| 0240 |
Search a 2D Matrix II |
Java |
O(n + m) |
13MS |
O(1) |
Medium |
Matrix |
| 0300 |
Longest Increasing Subsequence |
Java |
O(n*lgn) |
0ms |
O(n) |
Medium |
Binary Search DP |
| 0301 |
Remove Invalid Parentheses |
Java |
- |
- |
- |
Hard |
DFS |
| 0307 |
Range Sum Query - Mutable |
Java |
O(n*logn) |
- |
O(n) |
Medium |
Tree |
| 0315 |
Count of Smaller Numbers After Self |
C |
O(n*logn) |
16ms |
O(n) |
Hard |
Tree |
| 0316 |
Remove Duplicate Letters |
C |
O(n) |
3ms |
O(n) |
Hard |
Greedy Stack |
| 0321 |
Create Maximum Number |
C |
O(n*k) |
12ms |
O(n) |
Hard |
Greedy Stack |
| 0327 |
Count of Range Sum |
C |
O(n*logn) |
9ms |
O(n) |
Hard |
Devide |
| 0329 |
Longest Increasing Path in a Matrix |
Java |
O(n*m) |
16ms |
O(n*m) |
Hard |
DFS |
| 0330 |
Patching Array |
Java |
O(n) |
1ms |
O(1) |
Hard |
Greey |
| 0335 |
Self Crossing |
Java |
O(n) |
0ms |
O(1) |
Hard |
Math |
| 0336 |
Palindrome Pairs |
Java |
O(n*lgm) |
52ms |
O(n*m) |
Hard |
Tree |
| 0338 |
Counting Bits |
Java |
O(n) |
2ms |
O(n) |
Medium |
Math |
| 0343 |
Integer Break |
Java |
O(n*n) |
1ms |
O(n) |
Medium |
DP |
| 0352 |
Data Stream as Disjoint Intervals |
Java |
O(n*lgn) |
155ms |
O(n) |
Hard |
Binary Search |
| 0354 |
Russian Doll Envelopes |
Java |
O(n*lgn) |
13ms |
O(n) |
Hard |
Binary Search DP |
| 0363 |
Max Sum of Rectangle No Larger Than K |
Java |
O(n^2*lgn) |
99.55% |
O(n) |
Hard |
Devide |
| 0370 |
Range Addition |
[Java] |
O(n) |
- |
O(n) |
|
|
| 0377 |
Combination Sum IV |
Java |
O(n*n) |
6MS |
O(n) |
Medium |
DP |
| 0380 |
Insert Delete GetRandom O(1) |
Java |
O(1) |
98.10% |
O(n) |
Medium |
Array |
| 0454 |
4Sum II |
Java |
O(n*n) |
97.52% |
O(n) |
Medium |
Math |
| 0561 |
Array Partition I |
Java |
O(n) |
90.95% |
O(1) |
Easy |
Array |
| 0563 |
Binary Tree Tilt |
Java |
- |
9MS |
O(n) |
Easy |
Tree |
| 0565 |
Array Nesting |
Java |
O(n) |
36MS |
O(1) |
Medium |
Array |
| 0566 |
Reshape the Matrix |
Java |
O(n*m) |
7MS |
O(n*m) |
Easy |
Martix |
| 0567 |
Permutation in String |
Java |
O(n) |
- |
O(n) |
Medium |
String |
| 0572 |
Subtree of Another Tree |
Java |
O(n) |
13MS |
O(1) |
Easy |
Tree |
| 0575 |
Distribute Candies |
Java |
O(n) |
95.78% |
O(n) |
Easy |
Set |
| 0576 |
Out of Boundary Paths |
Java |
- |
95.73% |
O(n*m*N) |
Medium |
DFS |
| 0583 |
Delete Operation for Two Strings |
Java |
O(n*m) |
95.08% |
O(n*m) |
Medium |
DP |
| 0591 |
Tag Validator |
Java |
O(n) |
19MS |
O(n) |
Hard |
String |
| 0592 |
Fraction Addition and Subtraction |
Java |
O(n) |
16MS |
O(n) |
Medium |
Math |
| 0593 |
Valid Square |
Java |
O(n) |
20MS |
O(1) |
Medium |
Math |
| 0594 |
Longest Harmonious Subsequence |
Java |
O(n) |
71MS |
O(n) |
Easy |
Map |
| 0595 |
Big Countries |
MySql |
- |
2979MS |
- |
Easy |
Where |
| 0596 |
Classes More Than 5 Students |
MySql |
- |
2610MS |
- |
Easy |
Group |
| 0597 |
Friend Requests I: Overall Acceptance Rate |
Lock |
- |
- |
- |
- |
- |
| 0598 |
Range Addition II |
Java |
O(n) |
6MS |
O(1) |
Easy |
Matrix |
| 0599 |
Minimum Index Sum of Two Lists |
Java |
O(n) |
26MS |
O(n) |
Easy |
Map |
| 0600 |
Non-negative Integers without Consecutive Ones |
Java |
O(n) |
- |
O(n) |
Hard |
Math |
| 0661 |
Image Smoother |
Java |
O(m*n) |
27MS |
O(m*n) |
Easy |
Matrix |