# 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