The solutions for LeetCode problems. Try to solve them with all languages.
Languages | Build Status | Solved Problems |
---|---|---|
C | ||
C++ | ||
C# | ||
Java | ||
JavaScript | ||
Python | ||
Ruby |
# | Title | Solutions | Time | Space | Comments |
---|---|---|---|---|---|
1 | Two Sum | C(4ms) C++(16ms) C#(496ms) Java(324ms) JavaScript(124ms) Python Ruby | O(N) | O(N) | |
2 | Add Two Numbers | C(20ms) C++(36ms) C#(208ms) Java(428ms) JavaScript(260ms) Python Ruby | O(Max(N, M)) | O(1) | |
3 | Longest Substring Without Repeating Characters | C(8ms) C++(12ms) C#(152ms) Java(368ms) JavaScript(240ms) Python Ruby | O(N) | O(1) | C# use array will slower |
4 | Median of Two Sorted Arrays | C C++(40ms) C#(216ms) Java(596ms) JavaScript(272ms) Python Ruby | O(Log(N+M)) | O(1) | |
5 | Longest Palindromic Substring | C(0ms) C++(4ms) C#(128ms) Java(316ms) JavaScript(128ms) Python Ruby | O(N) | O(N) | Use Manacher's Algorithm |
6 | ZigZag Conversion | C C++(16ms) C#(148ms) Java JavaScript Python Ruby | O(N) | O(N) | |
7 | Reverse Integer | C C++(8ms) C#(64ms) Java JavaScript Python Ruby | O(1) | O(1) | |
8 | String to Integer (atoi) | C C++(8ms) C#(144ms) Java JavaScript Python Ruby | O(1) | O(1) | |
9 | Palindrome Number | C C++ C#(168ms) Java JavaScript Python Ruby | O(1) | O(1) | |
10 | Regular Expression Matching | C C++ C#(156ms) Java JavaScript Python Ruby | O(N) | O(1) | |
11 | Container With Most Water | C C++ C#(172ms) Java JavaScript Python Ruby | O(N) | O(1) | |
12 | Integer to Roman | C C++ C#(96ms) Java JavaScript Python Ruby | O(N) | O(1) | |
13 | Roman to Integer | C C++ C#(180ms) Java JavaScript Python Ruby | O(N) | O(1) | |
14 | Longest Common Prefix | C C++ C#(148ms) Java JavaScript Python Ruby | O(N) | O(1) | |
15 | 3Sum | C C++ C#(480ms) Java JavaScript Python Ruby | O(N2) | O(M) | |
16 | 3Sum Closest | C C++ C#(164ms) Java JavaScript Python Ruby | O(N2) | O(1) | |
17 | Letter Combinations of a Phone Number | C C++ C#(448ms) Java JavaScript Python Ruby | O(N~4N) | O(1~4N-1) | |
18 | 4Sum | C C++ C#(532ms) Java JavaScript Python Ruby | O(N2) | O(N2) | |
19 | Remove Nth Node From End of List | C C++ C#(152ms) Java JavaScript Python Ruby | O(N) | O(1) | |
20 | Valid Parentheses | C C++ C#(116ms) Java JavaScript Python Ruby | O(N) | O(N) | |
21 | Merge Two Sorted Lists | C C++ C#(156ms) Java JavaScript Python Ruby | O(N1+N2) | O(1) | |
22 | Generate Parentheses | C C++ C#(400ms) Java JavaScript Python Ruby | O(N) | O(?) | |
23 | Merge k Sorted Lists | C C++ C#(316ms) Java JavaScript Python Ruby | O(N1+N2+...+Nm) | O(1) | |
24 | Swap Nodes in Pairs | C C++ C#(148ms) Java JavaScript Python Ruby | O(N) | O(1) | |
25 | Reverse Nodes in k-Group | C C++ C#(160ms) Java JavaScript Python Ruby | O(N) | O(1) | |
26 | Remove Duplicates from Sorted Array | C C++ C#(492ms) Java JavaScript Python Ruby | O(N) | O(1) | |
27 | Remove Element | C C++ C#(476ms) Java JavaScript Python Ruby | O(N) | O(1) | |
28 | Implement strStr() | C C++ C#(124ms) Java JavaScript Python Ruby | O(N+M) | O(1) | Use Knuth–Morris–Pratt Algorithm |
29 | Divide Two Integers | C C++ C#(60ms) Java JavaScript Python Ruby | O(N) | O(1) | |
30 | Substring with Concatenation of All Words | C C++ C#(828ms) Java JavaScript Python Ruby | O(N*M) | O(M) | |
31 | Next Permutation | C C++ C#(480ms) Java JavaScript Python Ruby | O(N) | O(1) | |
32 | Longest Valid Parentheses | C C++ C#(124ms) Java JavaScript Python Ruby | O(N) | O(1) | |
33 | Search in Rotated Sorted Array | C C++ C#(156ms) Java JavaScript Python Ruby | O(N) | O(1) | |
34 | Search for a Range | C C++ C#(488ms) Java JavaScript Python Ruby | O(LogN) | O(1) | |
35 | Search Insert Position | C C++ C#(152ms) Java JavaScript Python Ruby | O(LogN) | O(1) | |
36 | Valid Sudoku | C C++ C#(160ms) Java JavaScript Python Ruby | O(2) | O(1) | |
37 | Sudoku Solver | C C++ C#(168ms) Java JavaScript Python Ruby | O(N9) | N(1) | |
38 | Count and Say | C C++ C#(52ms) Java JavaScript Python Ruby | O(N2) | O(N) | |
39 | Combination Sum | C C++ C#(504ms) Java JavaScript Python Ruby | O(N!) | O(N) | |
40 | Combination Sum II | C C++ C#(484ms) Java JavaScript Python Ruby | O(N!) | O(N) | |
41 | First Missing Positive | C C++ C#(152ms) Java JavaScript Python Ruby | O(N) | O(1) | |
42 | Trapping Rain Water | C C++ C#(156ms) Java JavaScript Python Ruby | O(N) | O(1) | |
43 | Multiply Strings | C C++ C#(140ms) Java JavaScript Python Ruby | O(N*M) | O(N+M) | |
44 | Wildcard Matching | C C++ C#(160ms) Java JavaScript Python Ruby | O(N*M) | O(1) | Similar with Problem No. 10 |
45 | Jump Game II | C C++ C#(164ms) Java JavaScript Python Ruby | O(N) | O(1) | Use Greedy Algorithm |
46 | Permutations | C C++ C#(492ms) Java JavaScript Python Ruby | O(N!) | (N) | Get inspired by Heap's Algorithm |
47 | Permutations II | C C++ C#(492ms) Java JavaScript Python Ruby | O(N!) | (N) | Get inspired by Heap's Algorithm |
48 | Rotate Image | C C++ C#(148ms) Java JavaScript Python Ruby | O(N2) | O(1) | |
49 | Group Anagrams | C C++ C#(580ms) Java JavaScript Python Ruby | O(N) | O(N) | |
50 | Pow(x, n) | C C++ C#(64ms) Java JavaScript Python Ruby | O(LogN) | O(1) | |
51 | N-Queens | C C++ C#(396ms) Java JavaScript Python Ruby | O(N!) | O(N) | |
52 | N-Queens II | C C++ C#(52ms) Java JavaScript Python Ruby | O(N!) | O(N) | |
53 | Maximum Subarray | C C++ C#(148ms) Java JavaScript Python Ruby | O(N) | O(1) | |
54 | Spiral Matrix | C C++ C#(476ms) Java JavaScript Python Ruby | O(N) | O(1) | |
55 | Jump Game | C C++ C#(164ms) Java JavaScript Python Ruby | O(N) | O(1) | Use Greedy Algorithm |
56 | Merge Intervals | C C++ C#(548ms) Java JavaScript Python Ruby | O(NLogN) | O(1) | |
57 | Insert Interval | C C++ C#(544ms) Java JavaScript Python Ruby | O(N) | O(N) | |
58 | Length of Last Word | C C++ C#(120ms) Java JavaScript Python Ruby | O(N) | O(1) | |
59 | Spiral Matrix II | C C++ C#(48ms) Java JavaScript Python Ruby | O(N2) | O(N2) | |
60 | Permutation Sequence | C C++ C#(48ms) Java JavaScript Python Ruby | O(N) | (N) | Use Cantor Expansion (Introduction to Algorithms, MIT) |
61 | Rotate List | C C++ C#(152ms) Java JavaScript Python Ruby | O(N) | O(1) | |
62 | Unique Paths | C C++ C#(48ms) Java JavaScript Python Ruby | O(Min(M, N)) | O(1) | |
63 | Unique Paths II | C C++ C#(160ms) Java JavaScript Python Ruby | O(M*N) | O(Min(M, N) | |
64 | Minimum Path Sum | C C++ C#(172ms) Java JavaScript Python Ruby | O(M*N) | O(Min(M, N) | |
65 | Valid Number | C C++ C#(144ms) Java JavaScript Python Ruby | O(N) | O(1) | |
66 | Plus One | C C++ C#(440ms) Java JavaScript Python Ruby | O(N) | O(N) | |
67 | Add Binary | C C++ C#(128ms) Java JavaScript Python Ruby | O(N) | O(N) | |
68 | Text Justification | C C++ C#(448ms) Java JavaScript Python Ruby | O(N) | O(N) | |
69 | Sqrt(x) | C C++ C#(60ms) Java JavaScript Python Ruby | O(LogN) | O(1) | Use Newton–Raphson Method to computing square root |
70 | Climbing Stairs | C C++ C#(48ms) Java JavaScript Python Ruby | O(N) | O(1) | |
71 | Simplify Path | C C++ C#(132ms) Java JavaScript Python Ruby | O(N) | O(N) | |
72 | Edit Distance | C C++ C#(144ms) Java JavaScript Python Ruby | O(N*M) | O(Min(N,M)) | |
73 | Set Matrix Zeroes | C C++ C#(184ms) Java JavaScript Python Ruby | O(N*M) | O(N+M) | When use constant space, solution will slower |
74 | Search a 2D Matrix | C C++ C#(164ms) Java JavaScript Python Ruby | O(Log(N+M)) | O(1) | |
75 | Sort Colors | C C++ C#(480ms) Java JavaScript Python Ruby | O(N) | O(1) | |
76 | Minimum Window Substring | C C++ C#(144ms) Java JavaScript Python Ruby | O(N+M) | O(1) | |
77 | Combinations | C C++ C#(416ms) Java JavaScript Python Ruby | O((N-K)!) | O(N!/K!) | |
78 | Subsets | C C++ C#(472ms) Java JavaScript Python Ruby | O(2n) | O(1) | |
79 | Word Search | C C++ C#(164ms) Java JavaScript Python Ruby | O((N*M)2) | O(N*M) | |
80 | Remove Duplicates from Sorted Array II | C C++ C#(480ms) Java JavaScript Python Ruby | O(N) | O(1) | |
81 | Search in Rotated Sorted Array II | C C++ C#(156ms) Java JavaScript Python Ruby | O(N) | O(1) | |
82 | Remove Duplicates from Sorted List II | C C++ C#(168ms) Java JavaScript Python Ruby | O(N) | O(1) | |
83 | Remove Duplicates from Sorted List | C C++ C#(168ms) Java JavaScript Python Ruby | O(N) | O(1) | |
84 | Largest Rectangle in Histogram | C C++ C#(156ms) Java JavaScript Python Ruby | O(N) | O(N) | |
85 | Maximal Rectangle | C C++ C#(176ms) Java JavaScript Python Ruby | O(N*M) | O(M) | |
86 | Partition List | C C++ C#(148ms) Java JavaScript Python Ruby | O(N) | N(1) | |
87 | Partition List | C C++ C# Java JavaScript Python Ruby | |||
88 | Merge Sorted Array | C C++ C# Java JavaScript Python Ruby | |||
89 | Gray Code | C C++ C# Java JavaScript Python Ruby | |||
90 | Subsets II | C C++ C# Java JavaScript Python Ruby |