# Neetcode Course Practice
## Algorithms and Data Structures for Beginners
### Arrays
[20](https://hackmd.io/@ken1009us/HyCxgPYV2): Valid Parentheses
[26](https://hackmd.io/@ken1009us/SJJS2UY4h): Remove Duplicates from Sorted Array
[27](https://hackmd.io/@ken1009us/SkwXC8tVn): Remove Element
[155](https://hackmd.io/@ken1009us/SkxLGPYE2): Min Stack
[682](https://hackmd.io/@ken1009us/S1xNWwtNn): Baseball Game
[1929](https://hackmd.io/@ken1009us/H1hfV_E6s): Concatenation of Array
### Linked Lists
[21](https://hackmd.io/@ken1009us/SyZyrhKVn): Merge Two Sorted Lists
[206](https://hackmd.io/@ken1009us/B1kTKiKE3): Reverse Linked List
[225](https://hackmd.io/@ken1009us/SJOF5LLv3): Implement Stack using Queues
[707](https://hackmd.io/@ken1009us/rJeNA7Lwn): Design Linked List
[1472](https://hackmd.io/@ken1009us/SkqFQLLP3): Design Browser History
[1700](https://hackmd.io/@ken1009us/rkhRYLLPn): Number of Students Unable to Eat Lunch
### Recursion
:star:[70](https://hackmd.io/@ken1009us/H1WIqDDD2): Climbing Stairs
:star:[206](https://hackmd.io/@ken1009us/B1kTKiKE3): Reversed Linked List
[509](https://hackmd.io/@ken1009us/BkGQzIwPh): Fibonacci Number
### Sorting
[23](https://hackmd.io/@ken1009us/r1JlgsPwn): Merge k Sorted Lists
[75](https://hackmd.io/@ken1009us/rJShhck_2): Sort Colors
[215](https://hackmd.io/@ken1009us/HyKvDnwDn): Kth Largest Element in an Array
:star:[912](https://hackmd.io/@ken1009us/B1SKx5vwn): Sort an Array
### Binary Search
[74](https://hackmd.io/@ken1009us/ByGYb2J_n): Search a 2D Matrix
[278](https://hackmd.io/@ken1009us/HJ-BxJZOn): First Bad Version
[374](https://hackmd.io/@ken1009us/SyVGACed2): Guess Number Higher or Lower
[704](https://hackmd.io/@ken1009us/rk-Ky2JOn): Binary Search
:star:[875](https://hackmd.io/@ken1009us/SkjxUyWO2): Koko Eating Bananas
### Trees
:star:[94](https://hackmd.io/@ken1009us/HyBde5__n): Binary Tree Inorder Traversal
[102](https://hackmd.io/@ken1009us/SJjZ1ltu3): Binary Tree Level Order Traversal
:star:[105](https://hackmd.io/@ken1009us/HynkE0_Oh): Construct Binary Tree from Preorder and Inorder Traversal
[199](https://hackmd.io/@ken1009us/rJEzMxF_h): Binary Tree Right Side View
[230](https://hackmd.io/@ken1009us/Hyxia6dd3): Kth Smallest Element in a BST
:star:[450](https://hackmd.io/@ken1009us/Bkqf6pXd2): Delete Node in a BST
[700](https://hackmd.io/a5gEmepxRfyWsWVKGxFOeg): Search in a Binary Search Tree
:star:[701](https://hackmd.io/@ken1009us/HyHCM6mun): Insert into a Binary Search Tree
### Backtracking
:star:[39](https://hackmd.io/@ken1009us/rkV_CLs_3): Combination Sum
:star:[78](https://hackmd.io/@ken1009us/ByzF2GoOn): Subsets
[112](https://hackmd.io/@ken1009us/rJ6-_M9_h): Path Sum
### Heap/Priority Queue
[215](https://hackmd.io/@ken1009us/HyKvDnwDn): Kth Largest Element in an Array
:star:[703](https://hackmd.io/@ken1009us/SJ2eZF2_3): Kth Largest Element in a Stream
[973](https://hackmd.io/@ken1009us/rybOUah_h): K Closest Points to Origin
[1046](https://hackmd.io/@ken1009us/SkuMAnhu2): Last Stone Weight
### Hashing
[1](https://hackmd.io/@ken1009us/r1255eTdh): Two Sum
:star:[146](https://hackmd.io/@ken1009us/ByoVixau3): LRU Cache
[217](https://hackmd.io/@ken1009us/HJWqil6O3): Contains Duplicate
[705](https://hackmd.io/@ken1009us/HJUbp1qt2): Design HashSet
[706](https://hackmd.io/@ken1009us/BkcMIx5Fh): Design HashMap
### Graphs
:star:[133](https://hackmd.io/@ken1009us/HkmyQw2Fh): Clone Graph
[200](https://hackmd.io/@ken1009us/SJO7iWoY3): Number of Islands
:star:[207](https://hackmd.io/@ken1009us/S19D9qhF2): Course Schedule
[695](https://hackmd.io/@ken1009us/rk3DOrith): Max Area of Island
[994](https://hackmd.io/@ken1009us/ByDozPsYh): Rotting Oranges
[1091](https://hackmd.io/@ken1009us/HJt1_H3Kh): Shortest Path in Binary Matrix
### Dynamic Programming
:star:[62](https://hackmd.io/@ken1009us/S1gwArnath): Unique Paths
:star:[63](https://hackmd.io/@ken1009us/S1Oh52pYh): Unique Paths II
:star:[70](https://hackmd.io/@ken1009us/H1WIqDDD2): Climbing Stairs
:star:[198](https://hackmd.io/@ken1009us/HyQwTiaKh): House Robber
:star:[1143](https://hackmd.io/@ken1009us/S1p1Q10Y2): Longest Common Subsequence
### Bit Manipulation
:star:[190](https://hackmd.io/@ken1009us/ryl0MHCFn): Reverse Bits
[191](https://hackmd.io/@ken1009us/SJQkfG0Fh): Number of 1 Bits
:star:[338](https://hackmd.io/@ken1009us/HyqcQGCKn): Counting Bits
## Advanced Algorithms
### Arrays
[3](https://hackmd.io/@ken1009us/rJFgoTBc2): Longest Substring Without Repeating Characters
[11](https://hackmd.io/@ken1009us/BkOGg0Iq3): Container With Most Water
[26](https://hackmd.io/@ken1009us/SJJS2UY4h): Remove Duplicates from Sorted Array
[42](https://hackmd.io/@ken1009us/HyQO-AIch): Trapping Rain Water
:star:[53](https://hackmd.io/@ken1009us/rkePzBycn): Maximum Subarray
:star:[80](https://hackmd.io/@ken1009us/HyA51f853): Remove Duplicates from Sorted Array II
[125](https://hackmd.io/@ken1009us/rJ-lhbUc3): Valid Palindrome
[167](https://hackmd.io/@ken1009us/ryPPab85n): Two Sum II - Input Array Is Sorted
[209](https://hackmd.io/@ken1009us/HJOJ4pNc3): Minimum Size Subarray Sum
[219](https://hackmd.io/@ken1009us/HkhsEKN93): Contains Duplicate II
:star:[238](https://hackmd.io/@ken1009us/H14LbMDc3): Product of Array Except Self
[303](https://hackmd.io/@ken1009us/HJ_a60U5h): Range Sum Query - Immutable
:star:[304](https://hackmd.io/@ken1009us/rJeVFkPq3): Range Sum Query 2D - Immutable
:star:[424](https://hackmd.io/@ken1009us/SJ38naSch): Longest Repeating Character Replacement
:star:[560](https://hackmd.io/@ken1009us/r1Bw6fwqn): Subarray Sum Equals K
:star:[724](https://hackmd.io/@ken1009us/rkBTRWPc2): Find Pivot Index
:star:[918](https://hackmd.io/@ken1009us/B1J9jOkch): Maximum Sum Circular Subarray
[978](https://hackmd.io/@ken1009us/BJFK8Cl52): Longest Turbulent Subarray
:star:[1343](https://hackmd.io/@ken1009us/BkMy8YE92): Number of Sub-arrays of Size K and Average Greater than or Equal to Threshold
### Linked Lists
[141](https://hackmd.io/@ken1009us/S1oO6Qdch): Linked List Cycle
[142](https://hackmd.io/@ken1009us/BkLx-4Oc2): Linked List Cycle II
[287](https://hackmd.io/@ken1009us/Sk8jmN_c3): Find the Duplicate Number
[876](https://hackmd.io/@ken1009us/B11AS4oRs): Middle of the Linked List
[2130](https://hackmd.io/@ken1009us/H1nRTMtJn): Maximum Twin Sum of a Linked List
### Trees
#### Trie
[208](https://hackmd.io/@ken1009us/S1_dTvO5h): Implement Trie (Prefix Tree)
:star:[211](https://hackmd.io/@ken1009us/rknHe_O93): Design Add and Search Words Data Structure
:star:[212](https://hackmd.io/@ken1009us/Bk4RGYOq2): Word Search II
:star:[745](https://hackmd.io/@ken1009us/ryB1-tY9h): Prefix and Suffix Search
#### Union-Find
:star:[128](https://hackmd.io/@ken1009us/HkdyzsK93): Longest Consecutive Sequence
:star:[684](https://hackmd.io/@ken1009us/rk09RFYc3): Redundant Connection
:star:[721](https://hackmd.io/@ken1009us/H1OPP9Kq3): Accounts Merge
#### Segment Tree
:star:[307](https://hackmd.io/@ken1009us/HkDhmY2c2): Range Sum Query - Mutable
:x:[406](): Queue Reconstruction by Height
:star:[729](https://hackmd.io/@ken1009us/ryKs8OT5n): My Calendar I
:x:[2407](): Longest Increasing Subsequence II
#### Iterative DFS
:star:[144](https://hackmd.io/@ken1009us/BJypGMxj2): Binary Tree Preorder Traversal
[145](https://hackmd.io/@ken1009us/BkQVYfgsh): Binary Tree Postorder Traversal
:star:[173](https://hackmd.io/@ken1009us/HkfQd7yin): Binary Search Tree Iterator
### Heaps
:star:[295](https://hackmd.io/@ken1009us/HyxrAnWjn): Find Median from Data Stream
:x:[480](): Sliding Window Median
:star:[502](https://hackmd.io/@ken1009us/rkaxdT-i2): IPO
### Backtracking
#### Subsets
[78](https://hackmd.io/@ken1009us/ByzF2GoOn): Subsets
:star:[90](https://hackmd.io/@ken1009us/B1X4Mn8oh): Subsets II
#### Combinations
:star:[17](https://hackmd.io/@ken1009us/ryU7lxvoh): Letter Combinations of a Phone Number
:star:[39](https://hackmd.io/@ken1009us/rkV_CLs_3): Combination Sum
:star:[77](https://hackmd.io/@ken1009us/ByPhYkDj2): Combinations
#### Permutations
:star:[46](https://hackmd.io/@ken1009us/BJbtYE_o3): Permutations
:star:[47](https://hackmd.io/@ken1009us/r1Zl6V_s2): Permutations II
### Graphs
#### Dijkstra's
:star:[743](https://hackmd.io/@ken1009us/B1F4s8ds3): Network Delay Time
:x:[778](): Swim in Rising Water
:star:[1514](https://hackmd.io/@ken1009us/ryO2pWx22): Path with Maximum Probability
#### Prim's
:x:[1489](): Find Critical And Pseudo Critical Edges In Minimum Spanning Tree
:star::star:[1584](https://hackmd.io/@ken1009us/HJVSkvl23): Min Cost to Connect All Points
#### Kruskal's
:x:[1489](): Find Critical And Pseudo Critical Edges In Minimum Spanning Tree
:star::star:[1584](https://hackmd.io/@ken1009us/HJVSkvl23): Min Cost to Connect All Points
#### Topological Sort
:star:[207](https://hackmd.io/@ken1009us/S19D9qhF2): Course Schedule
[210](https://hackmd.io/@ken1009us/r10hPr5hn): Course Schedule II
:x:[269](): Alien Dictionary
:x:[1203](): Sort Items by Groups Respecting Dependencies
:star::star:[1462](https://hackmd.io/@ken1009us/rkLClUc2h): Course Schedule IV
### Dynamic Programming
#### 0 / 1 Knapsack
:star::star:[416](https://hackmd.io/@ken1009us/BkJ9UHfe6): Partition Equal Subset Sum
:star::star:[474](https://hackmd.io/@ken1009us/rk2sTROla): Ones and Zeroes
:star::star:[494](https://hackmd.io/@ken1009us/rkZ5Y8Mx6): Target Sum
:star::star:[1049](https://hackmd.io/@ken1009us/rJvT_kKlp): Last Stone Weight II
#### Unbounded Knapsack
:star:[322](https://hackmd.io/@ken1009us/B1koifqgp): Coin Change
:star::star:[518](https://hackmd.io/@ken1009us/ry2aENcgT): Coin Change II
:star::star:[983](https://hackmd.io/@ken1009us/HJsi7mcxT): Minimum Cost For Tickets
#### LCS
:star::star:[72](https://hackmd.io/@ken1009us/ByHp5msba): Edit Distance
:star::star:[97](https://hackmd.io/@ken1009us/ByzWpVs-p): Interleaving String
:star:[1143](https://hackmd.io/A2xiEKUZSciDF1ylspdY8A): Longest Common Subsequence
#### Palindromes
:star:[5](https://hackmd.io/@ken1009us/BJ_klBs-T): Longest Palindromic Substring
:star:[647](https://hackmd.io/@ken1009us/BJu4wSsbT): Palindromic Substrings
:star::star:[516](https://hackmd.io/@ken1009us/rJ4Wg8i-a): Longest Palindromic Subsequence