LeetCode

ARTS–a week

A: Algorithm: to solve a leetcode problem

R: Review: to review a English technical article

T: Tip: to learn a small technical tip

S: Share: to share a article which has it’s view and perspective

LeetCode

# Title Solution Difficulty
1 Two Sum Java Easy
2 Add Two Numbers Java Medium
3 Longest Substring Without Repeating Characters Java Medium
5 Longest Palindromic Substring Java Medium
9 Palindrome Number Java Easy
11 Container With Most Water Java Medium
13 Roman To Integer Java Easy
14 Longest Common Prefix Java Easy
16 3 Sum Closest Java Easy
17 Letter Combinations of a Phone Number Java Medium
19 Remove Nth Node From End of List Java Medium
20 valid parentheses Java Easy
21 Merge Two Sorted Lists Java Easy
22 Generate Parentheses Java Medium
26 Remove Duplicates from Sorted Array Java Easy
27 Remove Element Java Easy
28 Implement Str Java Easy
33 Search in Rotated Sorted Array Java Medium
34 Find First and Last Position of Element in Sorted Array Java Medium
35 Search Insert Position Java Easy
38 Count and Say Java Easy
39 Combination Sum Java Medium
40 Combination Sum II Java Medium
45 Jump Game II Java Medium
46 Permutations Java Medium
47 Permutations II Java Medium
53 Maximum Subarray Java Easy
54 Spiral Matrix Java Medium
55 Jump Game Java Medium
58 Length of Last Word Java Easy
61 Rotate List Java Medium
62 Unique Paths Java Medium
66 Plus One Java Easy
67 Add Binary Java Easy
69 Sqrt(x) Java Easy
70 Climbing Stairs Java Easy
73 Set Matrix Zeroes Java Medium
74 Search a 2D Matrix Java Medium
75 Sort Colors Java Easy
76 Minimum Window Substring Java Hard
77 Combinations Java Medium
78 Subsets Java Medium
79 Word Search Java Medium
80 Remove Duplicates from Sorted Array II Java Medium
81 Search in Rotated Sorted Array II Java Medium
82 Remove Duplicates from Sorted List II Java Medium
83 Remove Duplicates from Sorted List Java Easy
88 Merge Sorted Array Java Easy
90 Subsets II Java Medium
92 Reverse Linked List II Java Medium
100 Same Tree Java Easy
101 Symmetric Tree Java Easy
104 Maximum Depth of Binary Tree Java Easy
107 Binary Tree Level Order Traversal II Java Easy
108 Convert Sorted Array to Binary Search Tree Java Easy
110 Balanced Binary Tree Java Easy
111 Minimum Depth of Binary Tree Java Easy
112 Path Sum Java Easy
115 Distinct Subsequences Java Hard
116 Populating Next Right Pointers in Each Node Java Medium
117 Populating Next Right Pointers in Each Node II Java Medium
118 Pascal’s Triangle Java Easy
119 Pascal’s Triangle II Java Easy
120 Triangle Java Medium
121 Best Time to Buy and Sell Stock Java Easy
122 Best Time to Buy and Sell Stock II Java Easy
125 Valid Palindrome Java Easy
130 Surrounded Regions Java Medium
132 Palindrome Partitioning II Java Hard
135 Candy Java Hard
136 Single Number Java Easy
141 Linked List Cycle Java Easy
142 Linked List Cycle II Java Medium
150 Evaluate Reverse Polish Notation Java Medium
153 Find Minimum in Rotated Sorted Array Java Medium
155 Min Stack Java Easy
160 Intersection of Two Linked Lists Java Easy
162 Find Peak Element Java Medium
167 Two Sum II - Input array is sorted Java Easy
168 Excel Sheet Column Title Java Easy
169 Majority Element Java Easy
171 Excel Sheet Column Number Java Easy
172 Factorial Trailing Zeroes Java Easy
173 Binary Search Tree Iterator Java Medium
179 Largest Number Java Medium
189 Rotate Array Java Medium
190 Reverse Bits Java Easy
191 Number of 1 Bits Java Easy
198 House Robber Java Medium
200 Number of Islands Java Medium
202 Happy Number Java Easy
206 Reverse Linked List Java Easy
208 Implement Trie (Prefix Tree) Java Medium
209 Minimum Size Subarray Sum Java Medium
213 House Robber II Java Medium
217 Contains Duplicate Java Easy
219 Contains Duplicate II Java Easy
220 Contains Duplicate III Java Medium
224 Basic Calculator Java Hard
226 Invert Binary Tree Java Easy
227 Basic Calculator II Java Medium
229 Majority Element II Java Easy
230 Kth Smallest Element in a BST Java Easy
231 Power of Two Java Easy
232 Implement Queue using Stacks Java Easy
237 Delete Node in a Linked List Java Easy
252 Meeting Rooms Java Easy
258 Add Digits Java Easy
263 Ugly Number Java Easy
264 Ugly Number II Java Medium
268 Missing Number Java Easy
278 First Bad Version Java Easy
283 Move Zeroes Java Easy
300 Longest Increasing Subsequence Java Medium
303 Range Sum Query - Immutable Java Easy
304 Range Sum Query 2D - Immutable Java Medium
328 Odd Even Linked List Java Medium
331 Verify Preorder Serialization of a Binary Tree Java Medium
338 Counting Bits Java Medium
342 Power of Four Java Medium
344 Reverse String Java Easy
354 Russian Doll Envelopes Java Hard
367 Valid Perfect Square Java Easy
368 Largest Divisible Subset Java Easy
383 Ransom Note Java Easy
387 First Unique Character in a String Java Easy
392 Is Subsequence Java Easy
395 Longest Substring with At Least K Repeating Characterse Java Medium
402 Remove K Digits Java Medium
406 Queue Reconstruction by Height Java Medium
413 Arithmetic Slices Java Medium
414 Third Maximum Number Java Easy
435 Non-overlapping Intervals Java Medium
438 Find All Anagrams in a String Java Medium
441 Arranging Coins Java Easy
442 Find All Duplicates in an Array Java Easy
448 Find All Numbers Disappeared in an Array Java Easy
451 Sort Characters By Frequency Java Medium
452 Minimum Number of Arrows to Burst Balloons Java Medium
455 Assign Cookies Java Easy
456 132 Pattern Java Easy
476 Number Complement Java Easy
485 Max Consecutive Ones Java Easy
496 Next Greater Element I Java Easy
503 Next Greater Element II Java Medium
509 Fibonacci Number Java Easy
518 Coin Change 2 Java Medium
520 Detect Capital Java Easy
521 Longest Uncommon Subsequence I Java Easy
525 Contiguous Array Java Easy
528 Random Pick with Weight Java Medium
532 K-diff Pairs in an Array Java Easy
540 Single Element in a Sorted Array Java Medium
542 01 Matrix Java Medium
547 Number of Provinces Java Medium
557 Reverse Words in a String III Java Medium
561 Array Partition I Java Easy
566 Reshape the Matrix Java Easy
567 Permutation in String Java Medium
572 Subtree of Another Tree Java Medium
581 Shortest Unsorted Continuous Subarray Java Easy
599 Minimum Index Sum of Two Lists Java Easy
605 Can Place Flowers Java Easy
617 Merge Two Binary Trees Java Easy
665 Non-decreasing Array Java Medium
673 Number of Longest Increasing Subsequence Java Medium
695 Max Area of Island Java Medium
697 Degree of an Array Java Easy
700 Search in a Binary Search Tree Java Easy
704 Binary Search Java Easy
705 Design HashSet Java Easy
713 Subarray Product Less Than K Java Medium
724 Find Pivot Index Java Easy
733 Flood Fill Java Easy
746 Min Cost Climbing Stairs Java Easy
747 Largest Number At Least Twice of Others Java Easy
763 Partition Labels Java Medium
766 Toeplitz Matrix Java Easy
771 Jewels and Stones Java Easy
783 Minimum Distance Between BST Nodes Java Easy
784 Letter Case Permutation Java Medium
797 All Paths From Source to Target Java Medium
830 Positions of Large Groups Java Easy
832 Flipping an Image Java Easy
840 Magic Squares In Grid Java Easy
844 Backspace String Compare Java Easy
849 Maximize Distance to Closest Person Java Easy
867 Transpose Matrix Java Easy
876 Middle of the Linked List Java Easy
888 Transpose Matrix Java Easy
896 Monotonic Array Java Easy
897 Increasing Order Search Tree Java Easy
905 Sort Array By Parity Java Easy
914 X of a Kind in a Deck of Cards Java Easy
918 Maximum Sum Circular Subarray Java Medium
922 Sort Array By Parity II Java Easy
938 Range Sum of BST Java Easy
941 Valid Mountain Array Java Easy
977 Squares of a Sorted Array Java Easy
978 Longest Turbulent Subarray Java Medium
985 Sum of Even Numbers After Queries Java Easy
986 Interval List Intersections Java Easy
989 Add to Array-Form of Integer Java Easy
992 Subarrays with K Different Integers Java Hard
993 Cousins in Binary Tree Java Easy
994 Rotting Oranges Java Medium
997 Find the Town Judge Java Easy
1004 Max Consecutive Ones III Java Medium
1006 Clumsy Factorial Java Medium
1008 Construct Binary Search Tree from Preorder Traversal Java Medium
1010 Pairs of Songs With Total Durations Divisible by 60 Java Easy
1011 Capacity To Ship Packages Within D Days Java Medium
1013 Partition Array Into Three Parts With Equal Sum Java Easy
1020 Number of Enclaves Java Medium
1029 Two City Scheduling Java Easy
1035 Uncrossed Lines Java Medium
1047 Remove All Adjacent Duplicates In String Java Medium
1051 Height Checker Java Easy
1052 Grumpy Bookstore Owner Java Medium
1089 Duplicate Zeros Java Easy
1091 Shortest Path in Binary Matrix Java Medium
1094 Car Pooling Java Medium
1122 Relative Sort Array Java Easy
1160 Find Words That Can Be Formed by Characters Java Easy
1178 Number of Valid Words for Each Puzzle Java Hard
1232 Check If It Is a Straight Line Java Easy
1277 Count Square Submatrices with All Ones Java Medium
1295 Find Numbers with Even Number of Digits Java Easy
1290 Replace Elements with Greatest Element on Right Side Java Easy
1342 Number of Steps to Reduce a Number to Zero Java Easy
1346 Check If N and Its Double Exist Java Easy
1380 Lucky Numbers in a Matrix Java Easy
1394 Find Lucky Integer in an Array Java Easy
1414 Find the Minimum Number of Fibonacci Numbers Whose Sum Is K Java Medium
1438 Longest Continuous Subarray With Absolute Diff Less Than or Equal to Limit Java Easy
1447 Simplified Fractions Java Medium
1468 XOR Operation in an Array Java Easy
1603 Design Parking System Java Easy
2006 Count Number of Pairs With Absolute Difference K Java Easy
2055 Plates Between Candles Java Easy
2104 Sum of Subarray Ranges Java Medium

剑指Offer

| # | Title | Solution | Difficulty| |:–:|:—–|:——–:|:———:| |04| 二维数组中的查找 | Java |Medium| |09| 用两个栈实现队列 | Java |Easy| |11| 旋转数组的最小数字 | Java |Easy| |58-II| 左旋转字符串 | Java |Easy|

Concurrency

| # | Title | Solution | Difficulty| |:–:|:—–|:——–:|:———:| |1114| Print in Order | Java |Easy| |1115| Print FooBar Alternately | Java |Easy| |1116| Print Zero Even Odd | Java |Easy|