Skip to content

nettee/little-algorithm

Repository files navigation

Little Algorithm

This repository contains the article index and reference solutions for my "LeetCode Explained with Examples" course. The article series was originally published on my WeChat public account in 2020.

English | 简体中文

How to use this repository

  • Learn LeetCode problem-solving systematically:
  • Find reference code by LeetCode problem:
    • Look up a LeetCode problem in the table below to find the corresponding reference code and article link

Reference solutions

ID Problem Solution Article
11 Container With Most Water Java Container With Most Water (Reservoir Problem)
19 Remove Nth Node From End of List Java Two Pointers × Linked List Problems: Fast and Slow Pointers
39 Combination Sum Java Solving the Combination Sum Series with One Template
40 Combination Sum II Java Solving the Combination Sum Series with One Template
46 Permutations Java Permutation and Combination: Candidate Sets in Backtracking
47 Permutations II Java Revisiting Permutations and Combinations: Deduplication Strategies in Backtracking
53 Maximum Subarray Java(1, 2, 3, 4, 5) Maximum Subarray Sum: Dynamic Programming Techniques for Subarray Problems
72 Edit Distance Java Classic Dynamic Programming: Edit Distance
77 Combinations Permutation and Combination: Candidate Sets in Backtracking
78 Subsets Java From Binary Tree Traversal to Backtracking
90 Subsets II Java Revisiting Permutations and Combinations: Deduplication Strategies in Backtracking
98 Validate Binary Search Tree Java Converting a Binary Tree to a Linked List: Operating on Adjacent Nodes in Binary Tree Inorder Traversal
102 Binary Tree Level Order Traversal Java Use Cases for BFS: Level-Order Traversal and Shortest Path Problems
110 Balanced Binary Tree Java Diameter of Binary Tree: Global Variables in Binary Tree Traversal
112 Path Sum Java Path Sum: Subproblem Decomposition in Binary Trees
113 Path Sum II Java From Binary Tree Traversal to Backtracking
123 Best Time to Buy and Sell Stock III Java A Practical yet Elegant Approach to Stock Trading Problems
124 Binary Tree Maximum Path Sum Java Diameter of Binary Tree: Global Variables in Binary Tree Traversal
141 Linked List Cycle Java Two Pointers × Linked List Problems: Fast and Slow Pointers
148 Sort List Java Linked List Comprehensive Problem: Sorting a Linked List
167 Two Sum II - Input array is sorted Java Solving Two Sum with Two Pointers: Reducing the Search Space
189 Rotate Array Java The Power of Basic Operations: Reverse as an Example
198 House Robber Java House Robber: Four Steps to Solving Dynamic Programming Problems
206 Reverse Linked List Java Reverse Linked List: How to Easily Restructure a Linked List
216 Combination Sum III Java Solving the Combination Sum Series with One Template
240 Search a 2D Matrix II Java Solving Two Sum with Two Pointers: Reducing the Search Space
242 Valid Anagram Java The Anagram Problem: The Power of Basic Data Structures
303 Range Sum Query - Immutable Java Prefix Sum: A Space-for-Time Technique
322 Coin Change Java Classic Dynamic Programming: Three Coin Change Problems Explained
377 Combination Sum IV Java Classic Dynamic Programming: Three Coin Change Problems Explained
426 Convert Binary Search Tree to Sorted Doubly Linked List Java Converting a Binary Tree to a Linked List: Operating on Adjacent Nodes in Binary Tree Inorder Traversal
463 Island Perimeter Java Island Problems: DFS on Grid Structures
518 Coin Change 2 Java Classic Dynamic Programming: Three Coin Change Problems Explained
543 Diameter of Binary Tree Java Diameter of Binary Tree: Global Variables in Binary Tree Traversal
560 Subarray Sum Equals K Java Prefix Sum: A Space-for-Time Technique
563 Binary Tree Tilt Java Diameter of Binary Tree: Global Variables in Binary Tree Traversal
695 Max Area of Island Java Island Problems: DFS on Grid Structures
718 Maximum Length of Repeated Subarray Java Maximum Subarray Sum: Dynamic Programming Techniques for Subarray Problems
724 Find Pivot Index Java Prefix Sum: A Space-for-Time Technique
827 Making A Large Island Java Island Problems: DFS on Grid Structures
876 Middle of the Linked List Java Two Pointers × Linked List Problems: Fast and Slow Pointers
978 Longest Turbulent Subarray Java Splitting Subproblems in Dynamic Programming to Simplify Your Approach
1143 Longest Common Subsequence Java Longest Common Subsequence: Solving with Two-Dimensional Dynamic Programming
1162 As Far from Land as Possible Java Use Cases for BFS: Level-Order Traversal and Shortest Path Problems
1372 Longest ZigZag Path in a Binary Tree Java Binary Tree Problems Too Complex? A Three-Step Method to Solve Them!
1373 Maximum Sum BST in Binary Tree Java Binary Tree Problems Too Complex? A Three-Step Method to Solve Them!

About

Course content and reference code for《LeetCode by Example》

Topics

Resources

Stars

Watchers

Forks

Contributors