3.Longest Substring Without Repeating Characters
5. Longest Palindromic Substring
10. Regular Expression Matching
17. Letter Combinations of a Phone Number
19. Remove Nth Node From End of List
26. Remove Duplicates from Sorted Array
30. Substring with Concatenation of All Words
33. Search in Rotated Sorted Array
34. Find First and Last Position of Element in Sorted Array
80. Remove Duplicates from Sorted Array II
81. Search in Rotated Sorted Array II
82. Remove Duplicates from Sorted List II
83. Remove Duplicates from Sorted List
84. Largest Rectangle in Histogram
94. Binary Tree Inorder Traversal
95. Unique Binary Search Trees II
96. Unique Binary Search Trees
98. Validate Binary Search Tree
102. Binary Tree Level Order Traversal
103. Binary Tree Zigzag Level Order Traversal
104. Maximum Depth of Binary Tree
105. Construct Binary Tree from Preorder and Inorder Traversal
106. Construct Binary Tree from Inorder and Postorder Traversal
107. Binary Tree Level Order Traversal II
108. Convert Sorted Array to Binary Search Tree
109. Convert Sorted List to Binary Search Tree
111. Minimum Depth of Binary Tree
114. Flatten Binary Tree to Linked List
116. Populating Next Right Pointers in Each Node
117. Populating Next Right Pointers in Each Node II
121. Best Time to Buy and Sell Stock
122. Best Time to Buy and Sell Stock II
123. Best Time to Buy and Sell Stock III
124. Binary Tree Maximum Path Sum
128. Longest Consecutive Sequence
132. Palindrome Partitioning II
138. Copy List with Random Pointer
144. Binary Tree Preorder Traversal
145. Binary Tree Postorder Traversal
150. Evaluate Reverse Polish Notation
153. Find Minimum in Rotated Sorted Array
154. Find Minimum in Rotated Sorted Array II
160. Intersection of Two Linked Lists
166. Fraction to Recurring Decimal
167. Two Sum II - Input array is sorted
171. Excel Sheet Column Number
172. Factorial Trailing Zeroes
173. Binary Search Tree Iterator
181. Employees Earning More Than Their Managers
183. Customers Who Never Order
184. Department Highest Salary
185. Department Top Three Salaries
199. Binary Tree Right Side View
201. Bitwise AND of Numbers Range
203. Remove Linked List Elements
208. Implement Trie (Prefix Tree)
209. Minimum Size Subarray Sum
211. Add and Search Word - Data structure design
215. Kth Largest Element in an Array
222. Count Complete Tree Nodes
225. Implement Stack using Queues
230. Kth Smallest Element in a BST
232. Implement Queue using Stacks
235. Lowest Common Ancestor of a Binary Search Tree
236. Lowest Common Ancestor of a Binary Tree
237. Delete Node in a Linked List
238. Product of Array Except Self
241. Different Ways to Add Parentheses
287. Find the Duplicate Number
295.Find Median from Data Stream
297. Serialize and Deserialize Binary Tree
300. Longest Increasing Subsequence
301. Remove Invalid Parentheses
303. Range Sum Query - Immutable
304. Range Sum Query 2D - Immutable
307. Range Sum Query - Mutable
309. Best Time to Buy and Sell Stock with Cooldown
315. Count of Smaller Numbers After Self
- 208. Implement Trie (Prefix Tree)
- 648. Replace Words
- 676. Implement Magic Dictionary
- 677. Map Sum Pairs
- 720. Longest Word in Dictionary
- 745. Prefix and Suffix Search
- Conclusion: Data structure | Trie Tree 字典树
- 307. Range Sum Query - Mutable
- Conclusion: Data structure | Binary Index Tree
- Conclusion: Data structure | Segment Tree
- 84. Largest Rectangle in Histogram
- 85. Maximal Rectangle
- 901. Online Stock Span
- 907. Sum of Subarray Minimums
- 17. Letter Combinations of a Phone Number
- 39. Combination Sum
- 40. Combination Sum II
- 77. Combinations
- 79. Word Search
- 90. Subsets II
- 216. Combination Sum III
- Conclusion: We can speed up the recursion using an index and if we want all elements used once, we need to sort first and in the for loop, we need to remove duplicate values.
- 46. Permutations
- 47. Permutations II
- 784. Letter Case Permutation
- 943. Find the Shortest Superstring
- 996. Number of Squareful Arrays
- 22. Generate Parentheses
- 301. Remove Invalid Parentheses
- 37. Sudoku Solver
- 51. N-Queens
- 52. N-Queens II
- 79. Word Search
- 212. Word Search II
- 127. Word Ladder
- 126. Word Ladder II
- 752. Open the Lock
- 542. 01 Matrix
- 695. Max Area of Island
- 934. Shortest Bridge
- 698. Partition to K Equal Sum Subsets
- 93. Restore IP Addresses
- 131. Palindrome Partitioning
- 241. Different Ways to Add Parentheses
- 282. Expression Add Operators
- 842. Split Array into Fibonacci Sequence
- 70. Climbing Stairs
- 746. Min Cost Climbing Stairs
- 303. Range Sum Query - Immutable
- 53. Maximum Subarray
- 121. Best Time to Buy and Sell Stock
- 198. House Robber
- 213. House Robber II
- 309. Best Time to Buy and Sell Stock with Cooldown
- 740. Delete and Earn
- 790. Domino and Tromino Tiling
- 801. Minimum Swaps To Make Sequences Increasing
- 139. Word Break
- 140. Word Break II
- 818. Race Car
- 300. Longest Increasing Subsequence
- 673. Number of Longest Increasing Subsequence
- 72. Edit Distance
- 10. Regular Expression Matching
- 44. Wildcard Matching
- 97. Interleaving String
- 115. Distinct Subsequences
- 583. Delete Operation for Two Strings
- 712. Minimum ASCII Delete Sum for Two Strings
- 322. Coin Change
- 377. Combination Sum IV
- 416. Partition Equal Subset Sum
- 494. Target Sum
- 813. Largest Sum of Averages
- 312. Burst Balloons
- 664. Strange Printer
- 741. Cherry Pickup
- 546. Remove Boxes
- 943. Find the Shortest Superstring
- 980. Unique Paths III
- 996. Number of Squareful Arrays
- 62. Unique Paths
- 63. Unique Paths II
- 64. Minimum Path Sum
- 120. Triangle
- 174. Dungeon Game
- 931. Minimum Falling Path Sum
- 85. Maximal Rectangle
- 221. Maximal Square
- 304. Range Sum Query 2D - Immutable
- 688. Knight Probability in Chessboard
- 576. Out of Boundary Paths
- 935. Knight Dialer
- 200. Number of Islands
- 547. Friend Circles
- 695. Max Area of Island
- 733. Flood Fill
- 827. Making A Large Island
- 841. Keys and Rooms
- 399. Evaluate Division
- 839. Similar String Groups
- 952. Largest Component Size by Common Factor
- 990. Satisfiability of Equality Equations
- 721. Accounts Merge
- 847. Shortest Path Visiting All Nodes
- 815. Bus Routes
- 864. Shortest Path to Get All Keys
- 924. Minimize Malware Spread
- 94. Binary Tree Inorder Traversal
- 589. N-ary Tree Preorder Traversal
- 590. N-ary Tree Postorder Traversal
- 100. Same Tree
- 101. Symmetric Tree
- 104. Maximum Depth of Binary Tree
- 110. Balanced Binary Tree
- 111. Minimum Depth of Binary Tree
- 572. Subtree of Another Tree
- 965. Univalued Binary Tree
- 102. Binary Tree Level Order Traversal
- 107. Binary Tree Level Order Traversal II
- 429. N-ary Tree Level Order Traversal
- 987. Vertical Order Traversal of a Binary Tree
- 814. Binary Tree Pruning
- 669. Trim a Binary Search Tree
- 112. Path Sum
- 113. Path Sum II
- 437. Path Sum III
- 124. Binary Tree Maximum Path Sum
- 543. Diameter of Binary Tree
- 687. Longest Univalue Path
- 129. Sum Root to Leaf Numbers
- 257. Binary Tree Paths
- 235. Lowest Common Ancestor of a Binary Search Tree
- 236. Lowest Common Ancestor of a Binary Tree
- 297. Serialize and Deserialize Binary Tree
- 449. Serialize and Deserialize BST
- 508. Most Frequent Subtree Sum
- 968. Binary Tree Cameras
- 337. House Robber III
- 979. Distribute Coins in Binary Tree
- 34. Find First and Last Position of Element in Sorted Array
- 35. Search Insert Position
- 704. Binary Search
- 981. Time Based Key-Value Store
- 33. Search in Rotated Sorted Array
- 81. Search in Rotated Sorted Array II
- 153. Find Minimum in Rotated Sorted Array
- 154. Find Minimum in Rotated Sorted Array II
- 162. Find Peak Element
- 852. Peak Index in a Mountain Array
- 69. Sqrt(x)
- 74. Search a 2D Matrix
- 378. Kth Smallest Element in a Sorted Matrix
- 668. Kth Smallest Number in Multiplication Table
- 778. Swim in Rising Water
- 174. Dungeon Game
- 875. Koko Eating Bananas
- 4.Median of Two Sorted Arrays
- 719. Find K-th Smallest Pair Distance
- 786. K-th Smallest Prime Fraction
Reading notes of book Algorithm(4th Algorithm),ISBN: 9787115293800. All java realization codes are placed in different packages.
I started learning the data struture systematically, I will list my notes in the order that I read the book.
- Blocking Queue
- Non Blocking Queue
- Array and String. (Question1_*)
- List. (Question2_*)
- Stack and Queue. (Question3_*)
- Tree and Graph. (Question4_*)
- Bit Operations. (Question5_*)
- Recursive and Dynamic programming. (Question9_*)