🌱 Keegan's Digital Garden

        • 01. Introduction to Algorithm Design
        • 02. Algorithm Analysis
        • 03. Data Structures
        • 04. Sorting and Searching
        • 05. Graph Traversal
        • 06. Weighted Graph Algorithms
        • 07. Combinatorial Search & Heuristic Methods
        • 08. Dynamic Programming
        • 09. Intractable Problems & Approximation Algorithms
        • 10. How to Design Algorithms
        • 01. Arrays & Strings
        • 02. Linked Lists
        • 03. Stacks & Queues
        • 04. Trees & Graphs
        • 05. Bit Manipulation
        • 06. Math & Logic Puzzles
        • 07. Object-Oriented Design
        • 08. Recursion & Dynamic Programming
        • 09. System Design & Scalability
        • 10. Sorting & Searching
        • 11. Testing
        • 12. C & C++
        • 13. Java
        • 14. Databases
        • 15. Threads & Locks
        • Notes
        • Quotes
        • Themes
      • 2025 Reading List
      • Communicating Complex Ideas
      • Context-Driven Decision Making
      • Excelling as a Junior
      • Optimizing for Humans
      • Sharing Knowledge
      • The Grug Brained Developer
          • 19. Remove Nth Node From End of List
          • 20. Valid Parentheses
          • 58. Length of Last Word
          • 61. Rotate List
          • 66. Plus One
          • 74. Search a 2D Matrix
          • 104. Maximum Depth of Binary Tree
          • 122. Best Time to Buy and Sell Stock II
          • 130. Surrounded Regions
          • 169. Majority Element
          • 199. Binary Tree Right Side View
          • 263. Ugly Number
          • 268. Missing Number
          • 345. Reverse Vowels of a String
          • 355. Design Twitter
          • 380. Insert Delete GetRandom O(1)
          • 456. 132 Pattern
          • 565. Array Nesting
          • 650. Keys Keyboard
          • 735. Asteroid Collision
          • 832. Flipping an Image
          • 867. Transpose Matrix
          • 935. Knight Dialer
          • 978. Longest Turbulent Subarray
          • 1014. Best Sightseeing Pair
          • 1025. Divisor Game
          • 1046. Last Stone Weight
          • 1287. Element Appearing More Than 25% In Sorted Array
          • 1346. Check if N and Its Double Exist
          • 1422. Maximum Score After Splitting a String
          • 1561. Maximum Number of Coins You Can Get
          • 1685. Sum of Absolute Differences in a Sorted Array
          • 1688. Count of Matches in Tournament
          • 1725. Number of Rectangles That Can Form The Largest Square
          • 2109. Adding Spaces to a String
          • 2116. Check if a Parentheses String Can Be Valid
          • 2160. Minimum Sum of Four Digit Number After Splitting Digits
          • 2181. Merge Nodes in Between Zeros
          • 3079. Find the Sum of Encrypted Integers
            • 1. Two Sum
            • 36. Valid Sudoku
            • 49. Group Anagrams
            • 128. Longest Consecutive Sequence
            • 217. Contains Duplicates
            • 238. Product of Array Except Self
            • 242. Valid Anagram
            • 271. Encode and Decode Strings
            • 347. Top K Frequent Elements
            • 11. Container With Most Water
            • 15. 3Sum
            • 42. Trapping Rain Water
            • 125. Valid Palindrome
            • 167. Two Sum II - Input Array is Sorted
            • 3. Longest Substring Without Repeating Characters
            • 76. Minimum Window Substring
            • 121. Best Time to Buy and Sell Stock
            • 239. Sliding Window Maximum
            • 424. Longest Repeating Character Replacement
            • 567. Permutations in String
            • 20. Valid Parentheses
            • 22. Generate Parentheses
            • 84. Largest Rectangle in Histogram
            • 150. Evaluate Reverse Polish Notation
            • 155. Min Stack
            • 739. Daily Temperatures
            • 853. Car Fleet
            • 2. Add Two Numbers
            • 19. Remove Nth Node From End of List
            • 21. Merge Two Sorted Lists
            • 23. Merge k Sorted Lists
            • 25. Reverse Nodes in k-Group
            • 138. Copy List with Random Pointer
            • 141. Linked List Cycle
            • 143. Reorder List
            • 146. LRU Cache
            • 206. Reverse Linked List
            • 287. Find the Duplicate Number
            • 4. Median of Two Sorted Arrays
            • 33. Search in Rotated Sorted Array
            • 74. Search a 2D Matrix
            • 153. Find Minimum in Rotated Sorted Array
            • 704. Binary Search
            • 875. Koko Eating Bananas
            • 981. Time Based Key-Value Store
            • 98. Validate Binary Search Tree
            • 100. Same Tree
            • 102. Binary Tree Level Order Traversal
            • 104. Maximum Depth of Binary Tree
            • 105. Construct Binary Tree from Preorder and Inorder Traversal
            • 110. Balanced Binary Tree
            • 199. Binary Tree Right Side View
            • 226. Invert Binary Tree
            • 230. Kth Smallest Element in a BST
            • 235. Lowest Common Ancestor of a Binary Search Tree
            • 543. Diameter of Binary Tree
            • 572. Subtree of Another Tree
            • 1448. Count Nodes in Binary Tree
            • 17. Letter Combinations of a Phone Number
            • 39. Combination Sum
            • 40. Combination Sum II
            • 46. Permutations
            • 51. N-Queens
            • 78. Subsets
            • 79. Word Search
            • 90. Subsets II
            • 131. Palindrome Partitioning
            • 5. Longest Palindromic Substring
            • 70. Climbing Stairs
            • 91. Decode Ways
            • 139. Word Break
            • 152. Maximum Product Subarray
            • 198. House Robber
            • 213. House Robber II
            • 300. Longest Increasing Subsequence
            • 322. Coin Change
            • 416. Partition Equal Subset Sum
            • 647. Palindromic Substrings
            • 746. Min Cost Climbing Stairs
            • 130. Surrounded Regions
            • 133. Clone Graph
            • 200. Number of Islands
            • 207. Course Schedule
            • 210. Course Schedule II
            • 261. Graph Valid Tree
            • 286. Walls and Gates
            • 323. Number of Connected Components in an Undirected Graph
            • 417. Pacific Atlantic Water Flow
            • 684. Redundant Connection
            • 695. Max Area of Island
            • 994. Rotting Oranges
            • 45. Jump Game II
            • 53. Maximum Subarray
            • 55. Jump Game
            • 134. Gas Station
            • 678. Valid Parenthesis String
            • 763. Partition Labels
            • 846. Hand of Straights
            • 1899. Merge Triplets to Form Target Triplet
            • 62. Unique Paths
            • 72. Edit Distance
            • 97. Interleaving String
            • 309. Best Time to Buy and Sell Stock with Cooldown
            • 494. Target Sum
            • 518. Coin Change II
            • 1143. Longest Common Subsequence
            • 743. Network Delay Time
            • 787. Cheapest Flights Within K Stops
            • 1584. Min Cost to Connect All Points
            • 56. Merge Intervals
            • 57. Insert Interval
            • 252. Meeting Rooms
            • 253. Meeting Rooms II
            • 435. Non-overlapping Intervals
            • 215. Kth Largest Element in an Array
            • 355. Design Twitter
            • 621. Task Scheduler
            • 703. Kth Largest Element in a Stream
            • 973. K Closest Points to Origin
            • 1046. Last Stone Weight
            • 208. Implement Trie (Prefix Tree)
            • 211. Design Add and Search Words Data Structure
            • 7. Reverse Integer
            • 136. Single Number
            • 190. Reverse Bits
            • 191. Number of 1 Bits
            • 268. Missing Number
            • 338. Counting Bits
            • 371. Sum of Two Integers
            • 48. Rotate Image
            • 54. Spiral Matrix
            • 66. Plus One
            • 73. Set Matrix Zeroes
            • 202. Happy Number
            • 15. 3Sum
            • 33. Search in Rotated Sorted Array
            • 56. Merge Intervals
            • 188. Best Time to Buy and Sell Stock IV
            • 691. Stickers to Spell Word
            • 1309. Decrypt String from Alphabet to Integer Mapping
            • 1323. Maximum 69 Number
            • 2265. Count Nodes Equal To Average of Subtree
            • 2328. Number of Increasing Paths in a Grid
            • 2555. Maximize Win From Two Segments
            • 2. Add Two Numbers
            • 438. Find All Anagrams in a String
            • 623. Add One Row to Tree
            • 725. Split Linked List in Parts
            • 1220. Count Vowels Permutation
            • 1349. Maximum Students Taking Exam
            • 1547. Minimum Cost to Cut a Stick
            • 1652. Defuse the Bomb
            • 1961. Check If String Is a Prefix of Array
            • 3342. Find Minimum Time to Reach Last Room II
            • 18. 4Sum
            • 54. Spiral Matrix
            • 309. Best Time to Buy and Sell Stock with Cooldown
            • 679. 24 Game
            • 778. Swim in Rising Water
            • 1172. Dinner Plate Stacks
            • 1457. Pseudo-Palindromic Paths in a Binary Tree
            • 1528. Shuffle String
            • 1981. Minimize the Difference Between Target and Chosen Elements
            • 1984. Minimum Difference Between Highest and Lowest of K Scores
            • 65. Unique Paths II
            • 71. Simplify Path
            • 203. Remove Linked List Elements
            • 330. Patching Array
            • 448. Find all Numbers Disappeared in an Array
            • 507. Perfect Number
            • 740. Delete and Earn
            • 989. Add to Array-Form of Integer
            • 1962. Remove Stones to Minimize the Total
            • 2091. Removing Minimum and Maximum From Array
            • 🎅Break this week ~ hohoho
            • 590. N-ary Tree Postorder Traversal
            • 643. Maximum Average Subarray I
            • 860. Lemonade Change
            • 877. Stone Game
            • 1094. Car Pooling
            • 1124. Longest Well-Performing Interval
            • 1237. Find Positive Integer Solution for a Given Equation
            • 1238. Circular Permutation in Binary Representation
            • 2325. Decode the Message
            • 2331. Evaluate Boolean Binary Tree
            • 133. Clone Graph
            • 929. Unique Email Addresses
            • 1054. Distant Barcodes
            • 1130. Minimum Cost Tree From Leaf Values
            • 1379. Find a Corresponding Node of a Binary Tree in a Clone of That Tree
            • 1530. Number of Good Leaf Nodes Pairs
            • 1588. Sum of All Odd Length Subarrays
            • 1605. Find Valid Matrix Given Row and Column Sums
            • 2009. Minimum Number of Operations to Make Array Contiguous
            • 2642. Design Graph With Shortest Path Calculator
            • 204. Count Primes
            • 518. Coin Change II
            • 1486. XOR Operation in an Array
            • 1494. Parallel Courses II
            • 1569. Number of Ways to Reorder Array to Get Same BST
            • 2207. Maximize Number of Subsequences in a String
            • 2304. Minimum Path Cost in a Grid
            • 2365. Task Scheduler II
            • 2591. Distribute Money to Maximum Children
            • 3184. Count Pairs That Form a Complete Day I
            • 30. Substring with Concatenation of All Words
            • 322. Coin Change
            • 433. Minimum Genetic Mutation
            • 563. Binary Tree Tilt
            • 1154. Day of the Year
            • 1202. Smallest String With Swaps
            • 2244. Minimum Rounds to Complete All Tasks
            • 2256. Minimum Average Difference
            • 2872. Maximum Number of K-Divisible Components
            • 2980. Check if Bitwise OR Has Trailing Zeros
            • 363. Max Sum of Rectangle No Larger Than K
            • 461. Hamming Distance
            • 703. Kth Largest Element in a Stream
            • 1277. Count Square Submatrices with All Ones
            • 1299. Replace Elements With Greatest Element on Right Side
            • 1305. All Elements in Two Binary Search Trees
            • 1353. Maximum Number of Events That Can Be Attended
            • 1815. Maximum Number of Groups Getting Fresh Donuts
            • 2310. Sum of Numbers With Units Digit K
            • 3223. Minimum Length of String After Operations
            • 52. N-Queens II
            • 174. Dungeon Game
            • 13. Roman to Integer
            • 14. Longest Common Prefix
            • 28. Find the Index of the First Occurrence in a String
            • 118. Pascal's Triangle
            • 359. Logger Rate Limiter
            • 721. Accounts Merge
            • 1101. The Earliest Moment When Everyone Become Friends
            • 1526. Minimum Number of Increments on Subarrays to Form a Target Array
            • 1768. Merge Strings Alternately
            • 3355. Zero Array Transformation I
            • 31. Next Permutation
            • 47. Permutations II
            • 88. Merge Sorted Array
            • 151. Reverse Words in a String
            • 394. Decode String
            • 402. Remove K Digits
            • 946. Validate Stack Sequences
            • 1110. Delete Nodes and Return Forest
            • 1254. Number of Closed Islands
            • 1360. Number of Days Between Two Dates
            • 1366. Rank Teams by Votes
            • 2510. Check if There is a Path With Equal Number of 0's And 1's
            • 2965. Find Missing and Repeated Values
            • 12. Integer to Roman
            • 77. Combinations
            • 80. Remove Duplicates from Sorted Array II
            • 144. Binary Tree Preorder Traversal
            • 145. Binary Tree Postorder Traversal
            • 387. First Unique Character in a String
            • 581. Shortest Unsorted Continuous Subarray
            • 1020. Number of Enclaves
            • 2104. Sum of Subarray Ranges
        • Revision
        • Technical Interview Checklist
          • Bellman-Ford Pathfinding Algorithm
          • Dijkstra's Shortest Path Algorithm
          • Graph Traversal
          • Graphs
          • Minimum Spanning Tree
          • Topological Sort
          • Union-Find (Disjoint Set)
          • Circular Linked List
          • Doubly Linked List
          • Linked List
          • Greatest Common Divisor (GCD)
          • Sieve of Eratosthenes (Prime number generation)
          • Deque (Double-Ended-Queue)
          • Priority Queue
          • Queue
          • Heap Sort
          • Insertion Sort
          • Merge Sort
          • Quick Sort
            • AVL Tree
            • Binary Search Tree (BST)
            • Red-Black Trees
            • Rotations in Balanced BSTs
          • Binary Tree
          • Heap
          • Tree Traversal
          • Trie (Prefix Tree)
          • Sliding Window
          • Slow and Fast Pointers
          • Two Pointers
        • Backtracking
        • Binary Search
        • Bit Manipulation
        • Dynamic Programming
        • Intervals
        • Kadane's Algorithm
        • Monotonic Stack
        • Prefix Sum
        • Quick Select
        • Vector Amortized Time
          • API Keys
          • JWT
          • OAuth2
          • Rate Limiting
        • API Gateways
        • GraphQL
        • gRPC
        • REST
        • RPC
        • The Essence of API Design
        • WebSockets
        • AWS
        • Cloud Computing Explained
        • Infrastructure as Code (IaC)
        • Microservices
        • Monoliths
        • Server vs. Serverless
        • Caching
        • Indexes
        • Normalization vs. Denormalization
        • Query Optimization
        • Replication
        • Sharding
        • SQL vs. NoSQL
          • Event-Driven Architecture
          • Microservices
          • Model-View-Controller (MVC)
          • Model-View-ViewModel (MVVM)
          • Chain of Responsibility
          • Command
          • Iterator
          • Mediator
          • Memento
          • Observer
          • State
          • Strategy
          • Template Method
          • Visitor
          • Event Loop
          • Future - Promise
          • Producer - Consumer
          • Read-Write Lock
          • Thread Pool
          • Abstract Factory
          • Builder
          • Factory Method
          • Prototype
          • Singleton
          • Adapter
          • Bridge
          • Composite
          • Decorator
          • Delegate
          • Facade
          • Flyweight
          • Proxy
              • Combine Latest
              • Operators
              • Zip
            • Cancellable
            • Combine
            • Publishers
            • Schedulers
            • Subjects
            • Subscribers
            • Subscriptions
            • Action Operations
            • Actions
            • Lens
            • Middleware
            • Reducer
            • Redux
            • Store
            • Thunk
            • View
            • Actor
            • Concurrency
            • Delegate
            • Executor
            • MainActor
        • JavaScript
        • Python
        • TypeScript
        • Functional Programming
        • Functional Reactive Programming
        • Object-Oriented Programming
        • Procedural Programming
          • Express.js
          • Flask
          • Microsoft .NET Framework
          • Node.js
          • Next.js
          • React
          • Redux
          • Storybook
    Home

    ❯

    Engineering

    ❯

    Programming Paradigms

    ❯

    Procedural Programming

    Procedural Programming


    Graph View

    Created with Quartz v4.4.0 © 2025

    • GitHub
    • Portfolio