← Home
Daily Logs
One problem a day.
A daily check-in — mostly LeetCode, sometimes a bug or idea from a side-project. For each one: the problem, how I actually thought about it, and the solution I landed on. Less a highlight reel, more a record of the reps.
Daily LogsDaily LogsDaily LogsDaily LogsDaily LogsDaily LogsDaily LogsDaily LogsDaily LogsDaily LogsDaily LogsDaily LogsDaily LogsDaily LogsDaily LogsDaily LogsDaily LogsDaily LogsDaily LogsDaily LogsDaily LogsDaily LogsDaily LogsDaily LogsDaily LogsDaily LogsDaily LogsDaily LogsDaily LogsDaily LogsDaily LogsDaily LogsDaily LogsDaily LogsDaily LogsDaily LogsDaily LogsDaily LogsDaily LogsDaily LogsDaily LogsDaily LogsDaily LogsDaily LogsDaily LogsDaily LogsDaily LogsDaily LogsDaily LogsDaily LogsDaily LogsDaily LogsDaily LogsDaily LogsDaily LogsDaily LogsDaily LogsDaily LogsDaily LogsDaily LogsDaily LogsDaily LogsDaily LogsDaily LogsDaily LogsDaily LogsDaily LogsDaily LogsDaily LogsDaily LogsDaily LogsDaily LogsDaily LogsDaily LogsDaily LogsDaily LogsDaily Logs
Longest Common SubstringAlgorithmsMedium
Longest Common Substring
Aug 18, 2026dynamic-programming
Longest Common Subsequence — TabulationAlgorithmsMedium
Longest Common Subsequence — Tabulation
Aug 18, 2026dynamic-programming
Longest Common Subsequence — Memoized RecursionAlgorithmsMedium
Longest Common Subsequence — Memoized Recursion
Aug 18, 2026dynamic-programming
Longest Common Subsequence — RecursionAlgorithmsMedium
Longest Common Subsequence — Recursion
Aug 18, 2026dynamic-programming
Coin Change — Minimum Number of CoinsLeetCode 322Medium
Coin Change — Minimum Number of Coins
Aug 15, 2026dynamic-programming
Coin Change — Count the Number of WaysLeetCode 518Medium
Coin Change — Count the Number of Ways
Aug 15, 2026dynamic-programming
Rod Cutting ProblemAlgorithmsMedium
Rod Cutting Problem
Aug 15, 2026dynamic-programming
Unbounded KnapsackAlgorithmsMedium
Unbounded Knapsack
Aug 15, 2026dynamic-programming
Target SumLeetCode 494Medium
Target Sum
Aug 14, 2026dynamic-programming
Count of Subsets with a Given DifferenceAlgorithmsMedium
Count of Subsets with a Given Difference
Aug 14, 2026dynamic-programming
Minimum Subset Sum DifferenceAlgorithmsMedium
Minimum Subset Sum Difference
Aug 14, 2026dynamic-programming
Count of Subsets with a Given SumAlgorithmsMedium
Count of Subsets with a Given Sum
Aug 14, 2026dynamic-programming
Equal Sum PartitionLeetCode 416Medium
Equal Sum Partition
Aug 12, 2026dynamic-programming
Subset Sum ProblemAlgorithmsMedium
Subset Sum Problem
Aug 12, 2026dynamic-programming
0/1 Knapsack — TabulationAlgorithmsMedium
0/1 Knapsack — Tabulation
Aug 12, 2026dynamic-programming
0/1 Knapsack — Memoized RecursionAlgorithmsMedium
0/1 Knapsack — Memoized Recursion
Aug 12, 2026dynamic-programming
0/1 Knapsack — Plain RecursionAlgorithmsMedium
0/1 Knapsack — Plain Recursion
Aug 12, 2026dynamic-programming
Alien DictionaryLeetCode 269Hard
Alien Dictionary
Jul 26, 2026graph
Cheapest Flights Within K StopsLeetCode 787Medium
Cheapest Flights Within K Stops
Jul 26, 2026graph
Swim in Rising WaterLeetCode 778Hard
Swim in Rising Water
Jul 26, 2026graph
Min Cost to Connect PointsLeetCode 1584Medium
Min Cost to Connect Points
Jul 26, 2026graph
Reconstruct Flight PathLeetCode 332Hard
Reconstruct Flight Path
Jul 26, 2026graph
Network Delay TimeLeetCode 743Medium
Network Delay Time
Jul 26, 2026graph
Word LadderLeetCode 127Hard
Word Ladder
Jul 24, 2026graph
Redundant ConnectionLeetCode 684Medium
Redundant Connection
Jul 24, 2026graph
Number of Connected Components in an Undirected GraphLeetCode 323Medium
Number of Connected Components in an Undirected Graph
Jul 9, 2026graph
Graph Valid TreeLeetCode 261Medium
Graph Valid Tree
Jul 9, 2026graph
Number of ProvincesLeetCode 547Medium
Number of Provinces
Jul 9, 2026graph
Course Schedule IILeetCode 210Medium
Course Schedule II
Jul 9, 2026graph
Course ScheduleLeetCode 207Medium
Course Schedule
Jul 7, 2026graph
Pacific Atlantic Water FlowLeetCode 417Medium
Pacific Atlantic Water Flow
Jul 7, 2026graph
Surrounded RegionsLeetCode 130Medium
Surrounded Regions
Jul 7, 2026graph
Rotting OrangesLeetCode 994Medium
Rotting Oranges
Jul 7, 2026graph
Islands and Treasure (Walls and Gates)NeetCode 150Medium
Islands and Treasure (Walls and Gates)
Jul 6, 2026graph
Clone GraphLeetCode 133Medium
Clone Graph
Jul 6, 2026graph
Max Area of IslandLeetCode 695Medium
Max Area of Island
Jul 6, 2026grid
Minimum Island (Grid Flood Fill)AlgorithmsMedium
Minimum Island (Grid Flood Fill)
Jul 6, 2026grid
Island Count (Grid Flood Fill)AlgorithmsEasy
Island Count (Grid Flood Fill)
Jul 5, 2026grid
Shortest Path (Edge List, BFS)AlgorithmsEasy
Shortest Path (Edge List, BFS)
Jul 5, 2026graph
Largest Component (Graph)AlgorithmsEasy
Largest Component (Graph)
Jul 5, 2026graph
Connected Components CountAlgorithmsEasy
Connected Components Count
Jul 5, 2026graph
Undirected Path (Edge List Reachability)AlgorithmsEasy
Undirected Path (Edge List Reachability)
Jul 4, 2026graph
Has Path (Graph Reachability)AlgorithmsEasy
Has Path (Graph Reachability)
Jul 4, 2026graph
BFS Graph TraversalAlgorithmsEasy
BFS Graph Traversal
Jul 4, 2026graph
DFS Graph TraversalAlgorithmsEasy
DFS Graph Traversal
Jul 4, 2026graph
Cache With Time LimitLeetCode 2622Medium
Cache With Time Limit
Jul 3, 2026cache
LRU CacheLeetCode 146Medium
LRU Cache
Jul 3, 2026design
Implement Deep CloneDevtools TechEasy
Implement Deep Clone
Jul 3, 2026objects
Create a Flat Version of a Nested ObjectDevtools TechMedium
Create a Flat Version of a Nested Object
Jul 3, 2026objects
Implement conformsToGreatFrontEndMedium
Implement conformsTo
Jul 2, 2026lodash
Implement isEmptyGreatFrontEndMedium
Implement isEmpty
Jul 2, 2026lodash
Implement Type Utilities IIGreatFrontEndEasy
Implement Type Utilities II
Jul 2, 2026typescript
Implement sizeGreatFrontEndEasy
Implement size
Jul 2, 2026lodash
Implement Function.prototype.bindGreatFrontEndEasy
Implement Function.prototype.bind
Jul 2, 2026javascript
Implement objectMapGreatFrontEndEasy
Implement objectMap
Jul 2, 2026objects
Implement Function.prototype.callGreatFrontEndEasy
Implement Function.prototype.call
Jul 2, 2026javascript
Implement Function.prototype.applyGreatFrontEndEasy
Implement Function.prototype.apply
Jul 2, 2026javascript
Implement fromPairsGreatFrontEndEasy
Implement fromPairs
Jul 2, 2026lodash
Implement Type UtilitiesGreatFrontEndEasy
Implement Type Utilities
Jul 2, 2026typescript
Implement classNames IIGreatFrontEndHard
Implement classNames II
Jul 1, 2026recursion
Implement classNamesGreatFrontEndMedium
Implement classNames
Jul 1, 2026recursion
Implement Array.prototype.filterGreatFrontEndEasy
Implement Array.prototype.filter
Jul 1, 2026array
Implement DebounceGreatFrontEndEasy
Implement Debounce
Jul 1, 2026timers
Flatten an ArrayGreatFrontEndEasy
Flatten an Array
Jul 1, 2026array
Implement Promise.anyBFE.dev 88Medium
Implement Promise.any
Jun 30, 2026promise
Implement Promise.allSettledBFE.dev 70Medium
Implement Promise.allSettled
Jun 30, 2026promise
Implement Promise.allBFE.dev 32Medium
Implement Promise.all
Jun 30, 2026promise
Implement Promise.raceBFE.dev 33Medium
Implement Promise.race
Jun 30, 2026promise
Selection SortAlgorithmsEasy
Selection Sort
Jun 26, 2026array
Valid SudokuLeetCode 36Medium
Valid Sudoku
Jun 26, 2026array
Container With Most WaterLeetCode 11Medium
Container With Most Water
Jun 26, 2026array
Two Sum II - Input Array Is SortedLeetCode 167Medium
Two Sum II - Input Array Is Sorted
Jun 26, 2026array
Valid PalindromeLeetCode 125Easy
Valid Palindrome
Jun 26, 2026string
Valid AnagramLeetCode 242Easy
Valid Anagram
Jun 26, 2026string
Contains DuplicateLeetCode 217Easy
Contains Duplicate
Jun 26, 2026array
Top K Frequent ElementsLeetCode 347Medium
Top K Frequent Elements
Jun 26, 2026array
Two SumLeetCode 1Easy
Two Sum
Jun 25, 2026array