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 |