LeetCode算法题目解答汇总(转自四火的唠叨)

LeetCode算法题目解答汇总

本文转自《四火的唠叨》

只要不是特别忙或者特别不方便,最近一直保持着每天做几道算法题的规律,到后来随着难度的增加,每天做的题目越来越少。我的初衷就是练习,因为一方面我本身算法基础并不好,再一方面是因为工作以后传统意义上所谓算法的东西接触还是太少。为了题目查找方便起见,我把之前几篇陆陆续续贴出来的我对LeetCode上面算法题的解答汇总在下面,CTRL+F就可以比较方便地找到。由于LeetCode上的题在不断更新,因此我也会不定期地更新。下面表格里面的Acceptance和Difficulty的Easy/Medium/Hard的分类都是来自LeetCode上面的数据,而Difficulty括号里面的数值和Frequency则来自这个文档。另外,LeetCode数据库的那十道题(截止到目前)我记录在这里

总体来说,做LeetCode的题目收获还是很大的。而这种可以很快获得代码正确性和性能即使的反馈的方式,对算法提高也是很有帮助的。有的题目困难,主要包括两方面的原因,有的是思路比较怪异,用常规思路去解题往往时间复杂度或者空间复杂度过高,还有的则是需要考虑的情况比较复杂,case众多,很容易遗漏。

TitleAcceptanceDifficultyFrequency
Palindrome Number28.8%Easy (2)2
ZigZag Conversion23.4%Easy (3)1
Valid Sudoku27.6%Easy (2)2
Add Binary25.5%Easy (2)4
Valid Parentheses28.2%Easy (2)5
Valid Palindrome22.2%Easy (2)5
Balanced Binary Tree32.5%Easy (1)2
Valid Number11.0%Easy (2)5
Symmetric Tree31.6%Easy (1)2
String to Integer (atoi)14.2%Easy (2)5
Same Tree41.8%Easy (1)1
Binary Tree Level Order Traversal30.6%Easy (3)4
Binary Tree Level Order Traversal II31.0%Easy (3)1
Roman to Integer33.9%Easy (2)4
Reverse Integer39.8%Easy (2)3
Remove Nth Node From End of List29.3%Easy (2)3
Remove Element33.0%Easy (1)4
Remove Duplicates from Sorted List34.7%Easy (1)3
Climbing Stairs34.0%Easy (2)5
Remove Duplicates from Sorted Array32.2%Easy (1)3
Plus One31.4%Easy (1)2
Path Sum30.4%Easy (1)3
Pascal's Triangle II30.1%Easy (2)1
Pascal's Triangle31.1%Easy (2)1
Minimum Depth of Binary Tree29.4%Easy (1)1
Merge Two Sorted Lists33.2%Easy (2)5
Merge Sorted Array31.8%Easy (2)5
Maximum Depth of Binary Tree43.8%Easy (1)1
Longest Common Prefix27.0%Easy (2)1
Count and Say26.7%Easy (2)2
Length of Last Word29.0%Easy (1)1
Implement strStr()21.9%Easy (4)5
Divide Two Integers16.6%Medium (4)3
3Sum16.7%Medium (3)5
Evaluate Reverse Polish Notation19.9%Medium 
Find Minimum in Rotated Sorted Array31.7%Medium 
Word Search19.8%Medium (3)4
Word Ladder18.4%Medium (3)5
Flatten Binary Tree to Linked List28.2%Medium (3)3
Gas Station25.9%Medium 
Generate Parentheses31.4%Medium (3)4
Gray Code32.1%Medium (4)2
Word Break21.3%Medium 
Validate Binary Search Tree25.9%Medium (3)5
Insertion Sort List25.3%Medium 
Integer to Roman33.8%Medium (3)4
4Sum21.4%Medium (3)2
Jump Game27.2%Medium (3)2
Add Two Numbers22.9%Medium (3)4
Anagrams23.9%Medium (3)4
Decode Ways16.2%Medium (3)4
Letter Combinations of a Phone Number26.4%Medium (3)3
Linked List Cycle35.7%Medium 
Linked List Cycle II30.8%Medium 
Best Time to Buy and Sell Stock31.2%Medium (2)1
Unique Paths II27.9%Medium (3)3
Longest Palindromic Substring20.6%Medium (4)2
Longest Substring Without Repeating Characters22.2%Medium (3)2
Unique Paths31.7%Medium (2)3
Unique Binary Search Trees II27.3%Medium (4)1
Unique Binary Search Trees36.5%Medium (3)1
Two Sum18.4%Medium (2)5
Convert Sorted List to Binary Search Tree27.3%Medium (4)3
Maximum Product Subarray15.9%Medium 
Maximum Subarray34.0%Medium (3)3
Triangle26.6%Medium (3)1
Best Time to Buy and Sell Stock II36.6%Medium (3)1
Swap Nodes in Pairs32.4%Medium (2)4
Convert Sorted Array to Binary Search Tree32.9%Medium (2)3
Container With Most Water31.3%Medium (3)2
Minimum Path Sum31.0%Medium (3)3
Surrounded Regions14.2%Medium (4)3
Multiply Strings20.5%Medium (4)3
Sum Root to Leaf Numbers29.7%Medium (2)4
Subsets II27.0%Medium (4)2
Next Permutation25.4%Medium (5)2
3Sum Closest27.0%Medium (3)1
Palindrome Partitioning25.9%Medium (3)4
Subsets27.9%Medium (3)4
Partition List27.0%Medium (3)3
Construct Binary Tree from Inorder and Postorder Traversal26.6%Medium 
Construct Binary Tree from Preorder and Inorder Traversal26.5%Medium 
Combinations30.0%Medium (3)4
Combination Sum II24.7%Medium (4)2
Path Sum II26.9%Medium (2)2
Permutation Sequence22.3%Medium (5)1
Permutations31.2%Medium (3)4
Sqrt(x)22.3%Medium (4)4
Combination Sum26.8%Medium (3)3
Populating Next Right Pointers in Each Node35.3%Medium (3)3
Spiral Matrix II30.8%Medium (3)2
Pow(x, n)25.9%Medium (3)5
Spiral Matrix20.6%Medium (4)2
Sort List20.6%Medium 
Clone Graph23.0%Medium 
Remove Duplicates from Sorted Array II30.6%Medium (2)2
Sort Colors32.1%Medium (4)2
Remove Duplicates from Sorted List II24.8%Medium (3)3
Binary Tree Zigzag Level Order Traversal26.5%Medium (4)3
Binary Tree Preorder Traversal35.5%Medium 
Reorder List20.4%Medium 
Restore IP Addresses20.5%Medium (3)3
Single Number II33.8%Medium 
Reverse Linked List II26.1%Medium (3)2
Single Number45.6%Medium 
Reverse Words in a String14.0%Medium 
Simplify Path19.9%Medium (3)1
Rotate Image31.2%Medium (4)2
Rotate List22.0%Medium (3)2
Binary Tree Inorder Traversal35.5%Medium (4)3
Set Matrix Zeroes30.8%Medium (3)5
Search a 2D Matrix31.2%Medium (3)3
Search for a Range27.4%Medium (4)3
Search Insert Position34.9%Medium (2)2
Search in Rotated Sorted Array II30.9%Medium (5)3
Text Justification14.0%Hard (4)2
Search in Rotated Sorted Array28.6%Hard (4)3
Binary Tree Maximum Path Sum20.2%Hard (4)2
Reverse Nodes in k-Group24.9%Hard (4)2
Binary Tree Postorder Traversal31.0%Hard 
Candy19.3%Hard 
Edit Distance25.5%Hard (4)3
Recover Binary Search Tree23.7%Hard (4)2
Populating Next Right Pointers in Each Node II30.7%Hard (4)2
Permutations II25.0%Hard (4)2
Best Time to Buy and Sell Stock III22.4%Hard (4)1
Palindrome Partitioning II18.3%Hard (4)3
N-Queens II33.9%Hard (4)3
Substring with Concatenation of All Words18.1%Hard (3)1
Sudoku Solver20.9%Hard (4)2
N-Queens25.9%Hard (4)3
Minimum Window Substring18.1%Hard (4)2
Merge k Sorted Lists21.2%Hard (3)4
Merge Intervals20.9%Hard (4)5
Scramble String22.8%Hard (5)2
Trapping Rain Water28.9%Hard (4)2
Median of Two Sorted Arrays17.6%Hard (5)3
Maximal Rectangle21.5%Hard (5)1
Max Points on a Line11.2%Hard 
LRU Cache14.1%Hard 
Longest Valid Parentheses19.7%Hard (4)1
Longest Consecutive Sequence28.2%Hard (4)3
Copy List with Random Pointer23.5%Hard 
Largest Rectangle in Histogram21.5%Hard (5)2
Jump Game II24.7%Hard (4)2
Interleaving String19.5%Hard (5)2
Insert Interval20.7%Hard (4)5
Wildcard Matching14.3%Hard (5)3
Distinct Subsequences25.0%Hard (4)2
Word Break II16.6%Hard 
First Missing Positive22.6%Hard (5)2
Word Ladder II11.5%Hard (1)1
Find Minimum in Rotated Sorted Array II27.9%Hard 
Regular Expression Matching20.2%Hard (5)3

【2015-6-17】从上次贴出来我的解答以后,最新更新的题目,除了一些需要买书只能在电子书上面看解答的没法验证以外,凡是题目能够在线解答和验证答案的,我把我的全部和分析放在了下面。欢迎指正。

#
226 Invert Binary Tree 37.6% Easy
225 Implement Stack using Queues 30.0% Medium
224 Basic Calculator 16.1% Medium
223 Rectangle Area 26.0% Easy
222 Count Complete Tree Nodes 19.8% Medium
221 Maximal Square 20.6% Medium
220 Contains Duplicate III 15.0% Medium
219 Contains Duplicate II 26.2% Easy
218 The Skyline Problem 17.0% Hard
217 Contains Duplicate 35.9% Easy
216 Combination Sum III 27.3% Medium
215 Kth Largest Element in an Array 27.4% Medium
214 Shortest Palindrome 16.3% Hard
213 House Robber II 26.1% Medium
212 Word Search II 15.0% Hard
211 Add and Search Word – Data structure design 20.9% Medium
210 Course Schedule II 19.1% Medium
209 Minimum Size Subarray Sum 23.1% Medium
208 Implement Trie (Prefix Tree) 25.0% Medium
207 Course Schedule 21.2% Medium
206 Reverse Linked List 32.0% Easy
205 Isomorphic Strings 24.2% Easy
204 Count Primes 18.9% Easy
203 Remove Linked List Elements 26.0% Easy
202 Happy Number 31.5% Easy
201 Bitwise AND of Numbers Range 27.2% Medium
200 Number of Islands 21.9% Medium
199 Binary Tree Right Side View 26.9% Medium
198 House Robber 28.8% Easy
191 Number of 1 Bits 37.3% Easy
190 Reverse Bits 28.3% Easy
189 Rotate Array 17.8% Easy
188 Best Time to Buy and Sell Stock IV 17.0% Hard
187 Repeated DNA Sequences 19.2% Medium
186 Reverse Words in a String II 31.1% Medium
179 Largest Number 15.7% Medium
174 Dungeon Game 17.5% Hard
173 Binary Search Tree Iterator 29.2% Medium
172 Factorial Trailing Zeroes 28.3% Easy
171 Excel Sheet Column Number 36.6% Easy
170 Two Sum III – Data structure design 24.7% Easy
169 Majority Element 34.9% Easy
168 Excel Sheet Column Title 18.1% Easy
167 Two Sum II – Input array is sorted 43.3% Medium
166 Fraction to Recurring Decimal 12.6% Medium
165 Compare Version Numbers 15.1% Easy
164 Maximum Gap 24.3% Hard
163 Missing Ranges 24.0% Medium
162 Find Peak Element 31.4% Medium
161 One Edit Distance 24.3% Medium
160 Intersection of Two Linked Lists 28.5% Easy
159 Longest Substring with At Most Two Distinct Characters 30.3% Hard
158 Read N Characters Given Read4 II – Call multiple times 22.2% Hard
157 Read N Characters Given Read4 29.9% Easy
156 Binary Tree Upside Down 34.4% Medium
155 Min Stack 18.3% Easy

【Updated:12/15/2015】227到310题

#
310 Minimum Height Trees 24.0% Medium
309 Best Time to Buy and Sell Stock with Cooldown 33.7% Medium
307 Range Sum Query – Mutable 15.5% Medium
306 Additive Number 23.2% Medium
304 Range Sum Query 2D – Immutable 20.3% Medium
303 Range Sum Query – Immutable 23.9% Easy
301 Remove Invalid Parentheses 28.6% Hard
300 Longest Increasing Subsequence 31.8% Medium
299 Bulls and Cows 25.9% Easy
297 Serialize and Deserialize Binary Tree 24.2% Medium
295 Find Median from Data Stream 19.7% Hard
292 Nim Game 50.0% Easy
290 Word Pattern 27.0% Easy
289 Game of Life 32.2% Medium
287 Find the Duplicate Number 36.0% Hard
284 Peeking Iterator 31.8% Medium
283 Move Zeroes 42.3% Easy
282 Expression Add Operators 21.5% Hard
279 Perfect Squares 29.8% Medium
278 First Bad Version 21.0% Easy
275 H-Index II 31.7% Medium
274 H-Index 27.1% Medium
273 Integer to English Words 16.9% Medium
268 Missing Number 37.5% Medium
264 Ugly Number II 24.5% Medium
263 Ugly Number 34.6% Easy
260 Single Number III 40.7% Medium
258 Add Digits 47.6% Easy
257 Binary Tree Paths 24.9% Easy
242 Valid Anagram 39.1% Easy
241 Different Ways to Add Parentheses 30.6% Medium
240 Search a 2D Matrix II 31.4% Medium
239 Sliding Window Maximum 24.8% Hard
238 Product of Array Except Self 39.5% Medium
237 Delete Node in a Linked List 44.0% Easy
236 Lowest Common Ancestor of a Binary Tree 27.7% Medium
235 Lowest Common Ancestor of a Binary Search Tree 37.9% Easy
234 Palindrome Linked List 25.3% Easy
233 Number of Digit One 22.6% Medium
232 Implement Queue using Stacks 33.8% Easy
231 Power of Two 33.3% Easy
230 Kth Smallest Element in a BST 34.0% Medium
229 Majority Element II 24.2% Medium
228 Summary Ranges 21.6% Easy
227 Basic Calculator II 22.2% Medium

转载请保持完整性并注明来源链接《四火的唠叨》

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值