<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>Engineering Playbook — DSA</title><description>539 DSA problems across 29 weekly patterns — C++ solutions with editorial walkthroughs.</description><link>http://localhost:4321/</link><item><title>4Sum</title><link>http://localhost:4321/dsa/4sum/</link><guid isPermaLink="true">http://localhost:4321/dsa/4sum/</guid><description>Two nested anchors plus two-pointer inner scan — sort first, skip duplicates at all four levels.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Medium</category><category>Review Challenges</category><category>two-pointers</category><category>array</category><category>sorting</category></item><item><title>01 Matrix</title><link>http://localhost:4321/dsa/01-matrix/</link><guid isPermaLink="true">http://localhost:4321/dsa/01-matrix/</guid><description>Distance from every cell to the nearest 0 — multi-source BFS.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Medium</category><category>Dynamic Programming</category><category>dp</category><category>bfs</category><category>grid</category></item><item><title>3Sum</title><link>http://localhost:4321/dsa/3sum/</link><guid isPermaLink="true">http://localhost:4321/dsa/3sum/</guid><description>Find every unique triplet in an array summing to zero. Sort then two-pointer scan per anchor.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Medium</category><category>Two Pointers</category><category>two-pointers</category><category>array</category><category>sorting</category></item><item><title>Add Binary</title><link>http://localhost:4321/dsa/add-binary/</link><guid isPermaLink="true">http://localhost:4321/dsa/add-binary/</guid><description>Schoolbook binary addition with carry — walk both strings from the right.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Easy</category><category>Review Challenges</category><category>math</category><category>string</category><category>bit-manipulation</category></item><item><title>Accounts Merge</title><link>http://localhost:4321/dsa/accounts-merge/</link><guid isPermaLink="true">http://localhost:4321/dsa/accounts-merge/</guid><description>Merge user accounts sharing any email — Union-Find over emails.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Medium</category><category>Union Find</category><category>union-find</category><category>hash-map</category><category>strings</category></item><item><title>Add Strings</title><link>http://localhost:4321/dsa/add-strings/</link><guid isPermaLink="true">http://localhost:4321/dsa/add-strings/</guid><description>Schoolbook addition from the rightmost digit — carry through, prepend remaining carry at the end.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Easy</category><category>Math &amp; Geometry</category><category>math</category><category>string</category></item><item><title>Add to Array-Form of Integer</title><link>http://localhost:4321/dsa/add-to-array-form-of-integer/</link><guid isPermaLink="true">http://localhost:4321/dsa/add-to-array-form-of-integer/</guid><description>Add k digit-by-digit from the LSB end, mixing in k&apos;s digits via carry.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Easy</category><category>Math &amp; Geometry</category><category>math</category><category>array</category></item><item><title>Add Two Numbers</title><link>http://localhost:4321/dsa/add-two-numbers/</link><guid isPermaLink="true">http://localhost:4321/dsa/add-two-numbers/</guid><description>Walk both linked lists in parallel, summing with carry; allocate one output node per step.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Medium</category><category>Math &amp; Geometry</category><category>linked-list</category><category>math</category></item><item><title>Adding Two Negabinary Numbers</title><link>http://localhost:4321/dsa/adding-two-negabinary-numbers/</link><guid isPermaLink="true">http://localhost:4321/dsa/adding-two-negabinary-numbers/</guid><description>Add base -2 numbers digit-by-digit — borrow propagates differently; trim leading zeros.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Medium</category><category>Math &amp; Geometry</category><category>math</category><category>array</category></item><item><title>Additive Number</title><link>http://localhost:4321/dsa/additive-number/</link><guid isPermaLink="true">http://localhost:4321/dsa/additive-number/</guid><description>Is the string a Fibonacci-like additive sequence? Backtrack over the first two summands.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Medium</category><category>Backtracking</category><category>backtracking</category><category>string</category></item><item><title>Alien Dictionary</title><link>http://localhost:4321/dsa/alien-dictionary/</link><guid isPermaLink="true">http://localhost:4321/dsa/alien-dictionary/</guid><description>Determine the alien character order from a list of sorted alien words — topological sort over derived precedence.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Hard</category><category>Topological Sort</category><category>topological-sort</category><category>graph</category></item><item><title>All O`one Data Structures</title><link>http://localhost:4321/dsa/all-oone-data-structure/</link><guid isPermaLink="true">http://localhost:4321/dsa/all-oone-data-structure/</guid><description>O(1) inc/dec/getMaxKey/getMinKey — doubly-linked list of count buckets, each holding the keys at that count.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Hard</category><category>Custom Data Structs</category><category>design</category><category>linked-list</category><category>hash-map</category></item><item><title>All Paths From Source to Target</title><link>http://localhost:4321/dsa/all-paths-from-source-to-target/</link><guid isPermaLink="true">http://localhost:4321/dsa/all-paths-from-source-to-target/</guid><description>All paths from node 0 to n-1 in a DAG — DFS emitting paths.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Medium</category><category>Backtracking</category><category>backtracking</category><category>graph</category><category>dfs</category></item><item><title>Append Characters to String to Make Subsequence</title><link>http://localhost:4321/dsa/append-characters-to-string-to-make-subsequence/</link><guid isPermaLink="true">http://localhost:4321/dsa/append-characters-to-string-to-make-subsequence/</guid><description>Find the minimum number of characters to append to s so that t becomes a subsequence — count unmatched suffix of t.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Medium</category><category>Two Pointers</category><category>two-pointers</category><category>string</category><category>greedy</category></item><item><title>Assign Cookies</title><link>http://localhost:4321/dsa/assign-cookies/</link><guid isPermaLink="true">http://localhost:4321/dsa/assign-cookies/</guid><description>Maximum number of content children given sorted greed factors and cookie sizes — two-pointer greedy.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Easy</category><category>Greedy Techniques</category><category>greedy</category><category>sorting</category><category>two-pointers</category></item><item><title>Asteroid Collision</title><link>http://localhost:4321/dsa/asteroid-collision/</link><guid isPermaLink="true">http://localhost:4321/dsa/asteroid-collision/</guid><description>Stack — push each asteroid; on a right-moving stack top vs left-moving incoming, pop the smaller (or both if equal).</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Medium</category><category>Review Challenges</category><category>stack</category><category>array</category><category>simulation</category></item><item><title>Average of Levels in Binary Tree</title><link>http://localhost:4321/dsa/average-of-levels-in-binary-tree/</link><guid isPermaLink="true">http://localhost:4321/dsa/average-of-levels-in-binary-tree/</guid><description>Return the average value at each depth of a binary tree.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Easy</category><category>Tree BFS</category><category>tree</category><category>bfs</category></item><item><title>Balanced Binary Tree</title><link>http://localhost:4321/dsa/balanced-binary-tree/</link><guid isPermaLink="true">http://localhost:4321/dsa/balanced-binary-tree/</guid><description>Recursion returns height — propagate a -1 sentinel up if any subtree is unbalanced.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Easy</category><category>Review Challenges</category><category>tree</category><category>dfs</category><category>recursion</category></item><item><title>Basic Calculator</title><link>http://localhost:4321/dsa/basic-calculator/</link><guid isPermaLink="true">http://localhost:4321/dsa/basic-calculator/</guid><description>Evaluate expressions with +, -, and parentheses by tracking a running sign through a stack of suspended sums.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Hard</category><category>Stacks</category><category>stack</category><category>parsing</category></item><item><title>Before and After Puzzle</title><link>http://localhost:4321/dsa/before-and-after-puzzle/</link><guid isPermaLink="true">http://localhost:4321/dsa/before-and-after-puzzle/</guid><description>Concatenate phrases sharing a boundary word — group by first word and last word.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Medium</category><category>Hash Maps</category><category>hash-map</category><category>strings</category><category>sorting</category></item><item><title>Best Meeting Point</title><link>http://localhost:4321/dsa/best-meeting-point/</link><guid isPermaLink="true">http://localhost:4321/dsa/best-meeting-point/</guid><description>Manhattan distance separates into 1D medians on rows and columns — sum each axis&apos;s deviations from the median.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Hard</category><category>Matrices</category><category>matrix</category><category>median</category><category>math</category></item><item><title>Best Time to Buy and Sell Stock II</title><link>http://localhost:4321/dsa/best-time-to-buy-and-sell-stock-ii/</link><guid isPermaLink="true">http://localhost:4321/dsa/best-time-to-buy-and-sell-stock-ii/</guid><description>Multiple buy/sell transactions, capture every positive day-over-day delta.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Medium</category><category>Greedy Techniques</category><category>greedy</category><category>array</category></item><item><title>Best Time to Buy and Sell Stock III</title><link>http://localhost:4321/dsa/best-time-to-buy-and-sell-stock-iii/</link><guid isPermaLink="true">http://localhost:4321/dsa/best-time-to-buy-and-sell-stock-iii/</guid><description>At most two transactions — track four running states (after each buy/sell).</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Hard</category><category>Dynamic Programming</category><category>dp</category><category>state-machine</category></item><item><title>Binary Search</title><link>http://localhost:4321/dsa/binary-search/</link><guid isPermaLink="true">http://localhost:4321/dsa/binary-search/</guid><description>Classic binary search on a sorted array — the atomic primitive.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Easy</category><category>Modified Binary Search</category><category>binary-search</category></item><item><title>Best Time to Buy and Sell Stock</title><link>http://localhost:4321/dsa/best-time-to-buy-and-sell-stock/</link><guid isPermaLink="true">http://localhost:4321/dsa/best-time-to-buy-and-sell-stock/</guid><description>Single buy/sell transaction maximizing profit — sweep tracking running minimum.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Easy</category><category>Sliding Window</category><category>sliding-window</category><category>array</category><category>dp</category></item><item><title>Binary Subarrays With Sum</title><link>http://localhost:4321/dsa/binary-subarrays-with-sum/</link><guid isPermaLink="true">http://localhost:4321/dsa/binary-subarrays-with-sum/</guid><description>Count 0/1 subarrays summing to goal — atMost(goal) − atMost(goal−1).</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Medium</category><category>Sliding Window</category><category>sliding-window</category><category>array</category></item><item><title>Binary Tree Cameras</title><link>http://localhost:4321/dsa/binary-tree-cameras/</link><guid isPermaLink="true">http://localhost:4321/dsa/binary-tree-cameras/</guid><description>Minimum cameras to monitor all nodes — greedy bottom-up with three states (covered, has camera, uncovered).</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Hard</category><category>Dynamic Programming</category><category>dp</category><category>tree</category><category>greedy</category></item><item><title>Binary Tree Maximum Path Sum</title><link>http://localhost:4321/dsa/binary-tree-maximum-path-sum/</link><guid isPermaLink="true">http://localhost:4321/dsa/binary-tree-maximum-path-sum/</guid><description>Post-order DFS returns the best single-arm gain; meanwhile track the best path bending at any node.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Hard</category><category>Tree DFS</category><category>tree</category><category>dfs</category><category>post-order</category></item><item><title>Level Order Traversal of Binary Tree</title><link>http://localhost:4321/dsa/binary-tree-level-order-traversal/</link><guid isPermaLink="true">http://localhost:4321/dsa/binary-tree-level-order-traversal/</guid><description>Return node values grouped per depth using a queue-based BFS.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Medium</category><category>Tree BFS</category><category>tree</category><category>bfs</category><category>queue</category></item><item><title>Binary Tree Paths</title><link>http://localhost:4321/dsa/binary-tree-paths/</link><guid isPermaLink="true">http://localhost:4321/dsa/binary-tree-paths/</guid><description>All root-to-leaf paths in a binary tree — DFS with path-building.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Easy</category><category>Backtracking</category><category>backtracking</category><category>tree</category><category>dfs</category></item><item><title>Binary Tree Right Side View</title><link>http://localhost:4321/dsa/binary-tree-right-side-view/</link><guid isPermaLink="true">http://localhost:4321/dsa/binary-tree-right-side-view/</guid><description>Preorder DFS visiting right before left — first node seen at each depth is the rightmost.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Medium</category><category>Tree DFS</category><category>tree</category><category>dfs</category></item><item><title>Binary Watch</title><link>http://localhost:4321/dsa/binary-watch/</link><guid isPermaLink="true">http://localhost:4321/dsa/binary-watch/</guid><description>Enumerate all hh:mm times whose binary representations have exactly `turnedOn` LEDs.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Easy</category><category>Backtracking</category><category>backtracking</category><category>bit-manipulation</category></item><item><title>Binary Tree Preorder Traversal</title><link>http://localhost:4321/dsa/binary-tree-preorder-traversal/</link><guid isPermaLink="true">http://localhost:4321/dsa/binary-tree-preorder-traversal/</guid><description>Iterative stack — push right child first so left is processed next.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Easy</category><category>Tree DFS</category><category>tree</category><category>dfs</category><category>stack</category></item><item><title>Binary Tree Zigzag Level Order Traversal</title><link>http://localhost:4321/dsa/binary-tree-zigzag-level-order-traversal/</link><guid isPermaLink="true">http://localhost:4321/dsa/binary-tree-zigzag-level-order-traversal/</guid><description>BFS level order with alternating direction per depth — reverse on odd levels.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Medium</category><category>Tree BFS</category><category>tree</category><category>bfs</category><category>queue</category></item><item><title>Build a Matrix with Conditions</title><link>http://localhost:4321/dsa/build-a-matrix-with-conditions/</link><guid isPermaLink="true">http://localhost:4321/dsa/build-a-matrix-with-conditions/</guid><description>Place [1..k] in a k×k grid satisfying row and column ordering constraints — two independent topological sorts.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Hard</category><category>Topological Sort</category><category>topological-sort</category></item><item><title>Boats to Save People</title><link>http://localhost:4321/dsa/boats-to-save-people/</link><guid isPermaLink="true">http://localhost:4321/dsa/boats-to-save-people/</guid><description>Minimum boats to ferry people with weight limit — sort, pair heaviest with lightest if they fit.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Medium</category><category>Greedy Techniques</category><category>greedy</category><category>two-pointers</category><category>sorting</category></item><item><title>Burst Balloons</title><link>http://localhost:4321/dsa/burst-balloons/</link><guid isPermaLink="true">http://localhost:4321/dsa/burst-balloons/</guid><description>Maximize coins from bursting balloons — interval DP keyed by the LAST balloon burst in each range.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Hard</category><category>Dynamic Programming</category><category>dp</category><category>interval-dp</category></item><item><title>Bulls and Cows</title><link>http://localhost:4321/dsa/bulls-and-cows/</link><guid isPermaLink="true">http://localhost:4321/dsa/bulls-and-cows/</guid><description>Compute bulls (correct digit + position) and cows (correct digit, wrong position) for a guess.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Medium</category><category>Hash Maps</category><category>hash-map</category><category>counting</category></item><item><title>Bulb Switcher</title><link>http://localhost:4321/dsa/bulb-switcher/</link><guid isPermaLink="true">http://localhost:4321/dsa/bulb-switcher/</guid><description>Bulb i ends on iff i has an odd number of divisors — iff i is a perfect square. Answer is floor(sqrt(n)).</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Medium</category><category>Math &amp; Geometry</category><category>math</category><category>number-theory</category></item><item><title>Bus Routes</title><link>http://localhost:4321/dsa/bus-routes/</link><guid isPermaLink="true">http://localhost:4321/dsa/bus-routes/</guid><description>BFS on the bipartite stop–route graph — each layer represents one bus transfer.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Hard</category><category>Graphs</category><category>graph</category><category>bfs</category><category>hashing</category></item><item><title>Can Place Flowers</title><link>http://localhost:4321/dsa/can-place-flowers/</link><guid isPermaLink="true">http://localhost:4321/dsa/can-place-flowers/</guid><description>Greedy single-pass — plant a flower whenever current, prev, and next are all 0.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Easy</category><category>Greedy Techniques</category><category>greedy</category><category>array</category></item><item><title>Candy</title><link>http://localhost:4321/dsa/candy/</link><guid isPermaLink="true">http://localhost:4321/dsa/candy/</guid><description>Each child gets at least one candy; higher-rated child gets more than smaller-rated neighbors. Minimum candies via two passes.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Hard</category><category>Greedy Techniques</category><category>greedy</category><category>array</category></item><item><title>Car Pooling</title><link>http://localhost:4321/dsa/car-pooling/</link><guid isPermaLink="true">http://localhost:4321/dsa/car-pooling/</guid><description>Determine if all pickups can fit under capacity using a delta-array sweep on locations.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Medium</category><category>Intervals</category><category>intervals</category><category>difference-array</category><category>sweep</category></item><item><title>Check If a Word is a Prefix of Any Word in a Sentence</title><link>http://localhost:4321/dsa/check-if-a-word-is-a-prefix-of-any-word-in-a-sentence/</link><guid isPermaLink="true">http://localhost:4321/dsa/check-if-a-word-is-a-prefix-of-any-word-in-a-sentence/</guid><description>Return the 1-indexed position of the first sentence word that starts with `searchWord`, or -1.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Easy</category><category>Trie</category><category>strings</category></item><item><title>Check If It Is a Straight Line</title><link>http://localhost:4321/dsa/check-if-it-is-a-straight-line/</link><guid isPermaLink="true">http://localhost:4321/dsa/check-if-it-is-a-straight-line/</guid><description>All points lie on one line iff every point shares the cross-product direction with the first edge.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Easy</category><category>Math &amp; Geometry</category><category>geometry</category><category>math</category><category>cross-product</category></item><item><title>Check if One String Swap Can Make Strings Equal</title><link>http://localhost:4321/dsa/check-if-one-string-swap-can-make-strings-equal/</link><guid isPermaLink="true">http://localhost:4321/dsa/check-if-one-string-swap-can-make-strings-equal/</guid><description>Can a single character swap on one string make the two equal? Count mismatch positions.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Easy</category><category>Tracking Patterns</category><category>strings</category></item><item><title>Cheapest Flights Within K Stops</title><link>http://localhost:4321/dsa/cheapest-flights-within-k-stops/</link><guid isPermaLink="true">http://localhost:4321/dsa/cheapest-flights-within-k-stops/</guid><description>Bellman-Ford limited to k+1 edges — relax k+1 times.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Medium</category><category>Dynamic Programming</category><category>dp</category><category>graph</category><category>bellman-ford</category></item><item><title>Cherry Pickup</title><link>http://localhost:4321/dsa/cherry-pickup/</link><guid isPermaLink="true">http://localhost:4321/dsa/cherry-pickup/</guid><description>Max cherries on two paths from top-left to bottom-right then back — simulate two simultaneous downward paths in 3D DP.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Hard</category><category>Dynamic Programming</category><category>dp</category><category>grid</category></item><item><title>Circular Array Loop</title><link>http://localhost:4321/dsa/circular-array-loop/</link><guid isPermaLink="true">http://localhost:4321/dsa/circular-array-loop/</guid><description>Detect a cycle of length &gt; 1 that flows in a single direction using fast/slow pointers per start position.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Medium</category><category>Fast and Slow Pointers</category><category>fast-slow</category><category>array</category></item><item><title>Climbing Stairs</title><link>http://localhost:4321/dsa/climbing-stairs/</link><guid isPermaLink="true">http://localhost:4321/dsa/climbing-stairs/</guid><description>Distinct ways to climb n stairs with 1- or 2-step moves — Fibonacci.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Easy</category><category>Dynamic Programming</category><category>dp</category><category>fibonacci</category></item><item><title>Closest Node to Path in Tree</title><link>http://localhost:4321/dsa/closest-node-to-path-in-tree/</link><guid isPermaLink="true">http://localhost:4321/dsa/closest-node-to-path-in-tree/</guid><description>For each query, find the node on the path between two endpoints that is closest to a target node.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Hard</category><category>Tree BFS</category><category>tree</category><category>bfs</category><category>graph</category></item><item><title>Clone Graph</title><link>http://localhost:4321/dsa/clone-graph/</link><guid isPermaLink="true">http://localhost:4321/dsa/clone-graph/</guid><description>BFS or DFS with a hash map from original node to clone — copy nodes lazily, link neighbors as discovered.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Medium</category><category>Graphs</category><category>graph</category><category>bfs</category><category>dfs</category><category>hashing</category></item><item><title>Coin Change</title><link>http://localhost:4321/dsa/coin-change/</link><guid isPermaLink="true">http://localhost:4321/dsa/coin-change/</guid><description>Fewest coins summing to amount — bottom-up unbounded knapsack.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Medium</category><category>Dynamic Programming</category><category>dp</category><category>knapsack</category></item><item><title>Combination Sum</title><link>http://localhost:4321/dsa/combination-sum/</link><guid isPermaLink="true">http://localhost:4321/dsa/combination-sum/</guid><description>All multisets of given candidates summing to target — DFS with start-index for dedup.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Medium</category><category>Dynamic Programming</category><category>dp</category><category>backtracking</category></item><item><title>Combinations</title><link>http://localhost:4321/dsa/combinations/</link><guid isPermaLink="true">http://localhost:4321/dsa/combinations/</guid><description>All k-combinations of [1..n] — DFS with start-index to avoid duplicates.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Medium</category><category>Backtracking</category><category>backtracking</category><category>combinations</category></item><item><title>Compilation Order</title><link>http://localhost:4321/dsa/compilation-order/</link><guid isPermaLink="true">http://localhost:4321/dsa/compilation-order/</guid><description>curriculum-track — return a valid build order for projects given their dependencies via topological sort.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Medium</category><category>Topological Sort</category><category>topological-sort</category><category>graph</category></item><item><title>Complement of Base 10 Integer</title><link>http://localhost:4321/dsa/complement-of-base-10-integer/</link><guid isPermaLink="true">http://localhost:4321/dsa/complement-of-base-10-integer/</guid><description>Flip every significant bit — XOR with a mask of &quot;all ones up to the MSB&quot;.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Easy</category><category>Bitwise Operations</category><category>bit-manipulation</category></item><item><title>Confusing Number</title><link>http://localhost:4321/dsa/confusing-number/</link><guid isPermaLink="true">http://localhost:4321/dsa/confusing-number/</guid><description>Map each digit to its 180-degree rotation; reject digits that have no rotation; check the rotated value differs from original.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Easy</category><category>Math &amp; Geometry</category><category>math</category></item><item><title>Connect All Siblings of a Binary Tree</title><link>http://localhost:4321/dsa/connect-all-siblings-of-a-binary-tree/</link><guid isPermaLink="true">http://localhost:4321/dsa/connect-all-siblings-of-a-binary-tree/</guid><description>Wire every node&apos;s `next` pointer to the next node in level-order across the entire tree.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Medium</category><category>Tree BFS</category><category>tree</category><category>bfs</category><category>linked-list</category></item><item><title>Build Binary Tree from Preorder and Inorder Traversal</title><link>http://localhost:4321/dsa/construct-binary-tree-from-preorder-and-inorder-traversal/</link><guid isPermaLink="true">http://localhost:4321/dsa/construct-binary-tree-from-preorder-and-inorder-traversal/</guid><description>Preorder gives the next root; index lookup in inorder splits left and right subtree ranges.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Medium</category><category>Tree DFS</category><category>tree</category><category>dfs</category><category>divide-and-conquer</category></item><item><title>Contains Duplicate II</title><link>http://localhost:4321/dsa/contains-duplicate-ii/</link><guid isPermaLink="true">http://localhost:4321/dsa/contains-duplicate-ii/</guid><description>Detect any duplicate pair within index distance k using a sliding hash set.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Easy</category><category>Sort and Search</category><category>hashing</category><category>sliding-window</category></item><item><title>Container with Most Water</title><link>http://localhost:4321/dsa/container-with-most-water/</link><guid isPermaLink="true">http://localhost:4321/dsa/container-with-most-water/</guid><description>Two pointers — at each step the shorter wall is the bottleneck, so move it inward.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Medium</category><category>Review Challenges</category><category>two-pointers</category><category>array</category><category>greedy</category></item><item><title>Construct Target Array with Multiple Sums</title><link>http://localhost:4321/dsa/construct-target-array-with-multiple-sums/</link><guid isPermaLink="true">http://localhost:4321/dsa/construct-target-array-with-multiple-sums/</guid><description>Reverse-engineer the build from target back to all-ones using a max-heap and modular replacement.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Hard</category><category>Heaps</category><category>heaps</category><category>greedy</category><category>math</category></item><item><title>Contains Duplicate</title><link>http://localhost:4321/dsa/contains-duplicate/</link><guid isPermaLink="true">http://localhost:4321/dsa/contains-duplicate/</guid><description>Hash set membership test — return true on the first repeat.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Easy</category><category>Review Challenges</category><category>hash-set</category><category>array</category></item><item><title>Contiguous Array</title><link>http://localhost:4321/dsa/contiguous-array/</link><guid isPermaLink="true">http://localhost:4321/dsa/contiguous-array/</guid><description>Longest contiguous subarray with equal numbers of 0s and 1s — prefix sum with `+1/-1` encoding.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Medium</category><category>Hash Maps</category><category>hash-map</category><category>prefix-sum</category></item><item><title>Convert 1D Array Into 2D Array</title><link>http://localhost:4321/dsa/convert-1d-array-into-2d-array/</link><guid isPermaLink="true">http://localhost:4321/dsa/convert-1d-array-into-2d-array/</guid><description>Validate dimensions match the input length, then copy contiguous slices via indexing.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Easy</category><category>Matrices</category><category>matrix</category><category>simulation</category></item><item><title>Continuous Subarray Sum</title><link>http://localhost:4321/dsa/continuous-subarray-sum/</link><guid isPermaLink="true">http://localhost:4321/dsa/continuous-subarray-sum/</guid><description>Does any subarray of length &gt;= 2 sum to a multiple of k? Prefix sums modulo k.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Medium</category><category>Hash Maps</category><category>hash-map</category><category>prefix-sum</category><category>modular</category></item><item><title>Convert Sorted Array to Binary Search Tree</title><link>http://localhost:4321/dsa/convert-sorted-array-to-binary-search-tree/</link><guid isPermaLink="true">http://localhost:4321/dsa/convert-sorted-array-to-binary-search-tree/</guid><description>Recursively pick the middle as root — both halves become left and right subtrees.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Easy</category><category>Tree DFS</category><category>tree</category><category>bst</category><category>divide-and-conquer</category></item><item><title>Count Anagrams</title><link>http://localhost:4321/dsa/count-anagrams/</link><guid isPermaLink="true">http://localhost:4321/dsa/count-anagrams/</guid><description>Count distinct anagrams of every space-separated word, multiplied together modulo 1e9+7.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Hard</category><category>Tracking Patterns</category><category>hash-map</category><category>math</category><category>combinatorics</category><category>modular</category></item><item><title>Convex Polygon</title><link>http://localhost:4321/dsa/convex-polygon/</link><guid isPermaLink="true">http://localhost:4321/dsa/convex-polygon/</guid><description>A polygon is convex iff all consecutive edge cross products have the same sign.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Medium</category><category>Math &amp; Geometry</category><category>geometry</category><category>math</category><category>cross-product</category></item><item><title>Count and Say</title><link>http://localhost:4321/dsa/count-and-say/</link><guid isPermaLink="true">http://localhost:4321/dsa/count-and-say/</guid><description>Generate the n-th term of the look-and-say sequence by repeatedly run-length encoding the previous term.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Medium</category><category>Tracking Patterns</category><category>strings</category><category>simulation</category></item><item><title>Count Days Without Meetings</title><link>http://localhost:4321/dsa/count-days-without-meetings/</link><guid isPermaLink="true">http://localhost:4321/dsa/count-days-without-meetings/</guid><description>Number of days in [1, n] free of any meeting — merge intervals, count gaps.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Medium</category><category>Intervals</category><category>intervals</category></item><item><title>Count Pairs Whose Sum is Less than Target</title><link>http://localhost:4321/dsa/count-pairs-whose-sum-is-less-than-target/</link><guid isPermaLink="true">http://localhost:4321/dsa/count-pairs-whose-sum-is-less-than-target/</guid><description>Count pairs (i, j) with i &lt; j and nums[i] + nums[j] &lt; target — sort then converging two pointers.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Easy</category><category>Modified Binary Search</category><category>binary-search</category><category>two-pointers</category><category>sorting</category></item><item><title>Count Negative Numbers in a Sorted Matrix</title><link>http://localhost:4321/dsa/count-negative-numbers-in-a-sorted-matrix/</link><guid isPermaLink="true">http://localhost:4321/dsa/count-negative-numbers-in-a-sorted-matrix/</guid><description>Staircase walk from the bottom-left, counting an entire row tail or stepping up.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Easy</category><category>Matrices</category><category>matrix</category><category>two-pointers</category></item><item><title>Count Pairs in Two Arrays</title><link>http://localhost:4321/dsa/count-pairs-in-two-arrays/</link><guid isPermaLink="true">http://localhost:4321/dsa/count-pairs-in-two-arrays/</guid><description>Transform to nums1[i] - nums2[i], sort, and count pairs whose sum exceeds zero with two pointers.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Medium</category><category>Sort and Search</category><category>two-pointers</category><category>sorting</category><category>math</category></item><item><title>Count Substrings With K-Frequency Characters II</title><link>http://localhost:4321/dsa/count-substrings-with-k-frequency-characters-ii/</link><guid isPermaLink="true">http://localhost:4321/dsa/count-substrings-with-k-frequency-characters-ii/</guid><description>Count substrings of s where at least one character appears at least k times — atLeast counting via sliding window.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Hard</category><category>Sliding Window</category><category>sliding-window</category><category>string</category><category>hash-map</category></item><item><title>Count Subarrays With Score Less Than K</title><link>http://localhost:4321/dsa/count-subarrays-with-score-less-than-k/</link><guid isPermaLink="true">http://localhost:4321/dsa/count-subarrays-with-score-less-than-k/</guid><description>Count subarrays where (sum × length) &lt; k, using a sliding window over positive integers.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Hard</category><category>Sliding Window</category><category>sliding-window</category><category>array</category></item><item><title>Count Subarrays With Fixed Bounds</title><link>http://localhost:4321/dsa/count-subarrays-with-fixed-bounds/</link><guid isPermaLink="true">http://localhost:4321/dsa/count-subarrays-with-fixed-bounds/</guid><description>Count subarrays whose min equals minK and max equals maxK using a sliding-window with three trackers.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Hard</category><category>Two Pointers</category><category>two-pointers</category><category>sliding-window</category><category>array</category></item><item><title>Count Substrings with Only One Distinct Letter</title><link>http://localhost:4321/dsa/count-substrings-with-only-one-distinct-letter/</link><guid isPermaLink="true">http://localhost:4321/dsa/count-substrings-with-only-one-distinct-letter/</guid><description>Sum of triangular numbers — each run of length k contributes k*(k+1)/2 single-letter substrings.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Easy</category><category>Math &amp; Geometry</category><category>string</category><category>math</category><category>counting</category></item><item><title>Count the Number of Good Subsequences</title><link>http://localhost:4321/dsa/count-the-number-of-good-subsequences/</link><guid isPermaLink="true">http://localhost:4321/dsa/count-the-number-of-good-subsequences/</guid><description>Count subsequences where every distinct character appears the same number of times — combinatorial sum over candidate frequency.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Medium</category><category>Dynamic Programming</category><category>dp</category><category>combinatorics</category></item><item><title>Count Triplets That Can Form Two Arrays of Equal XOR</title><link>http://localhost:4321/dsa/count-triplets-that-can-form-two-arrays-of-equal-xor/</link><guid isPermaLink="true">http://localhost:4321/dsa/count-triplets-that-can-form-two-arrays-of-equal-xor/</guid><description>Reduces to counting (i, k) pairs with prefix XOR equal — sum (k - i) for each such pair.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Medium</category><category>Bitwise Operations</category><category>bit-manipulation</category><category>prefix-xor</category><category>hash-map</category></item><item><title>Counting Bits</title><link>http://localhost:4321/dsa/counting-bits/</link><guid isPermaLink="true">http://localhost:4321/dsa/counting-bits/</guid><description>Bit count of every i in [0, n] in O(n) using dp[i] = dp[i &gt;&gt; 1] + (i &amp; 1).</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Easy</category><category>Dynamic Programming</category><category>dp</category><category>bit-manipulation</category></item><item><title>Course Schedule II</title><link>http://localhost:4321/dsa/course-schedule-ii/</link><guid isPermaLink="true">http://localhost:4321/dsa/course-schedule-ii/</guid><description>Return a valid course order — Kahn&apos;s BFS topological sort.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Medium</category><category>Topological Sort</category><category>topological-sort</category><category>graph</category></item><item><title>Course Schedule</title><link>http://localhost:4321/dsa/course-schedule/</link><guid isPermaLink="true">http://localhost:4321/dsa/course-schedule/</guid><description>Can all courses be finished given prerequisites? Cycle detection via Kahn&apos;s BFS topological sort.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Medium</category><category>Topological Sort</category><category>topological-sort</category><category>graph</category></item><item><title>Create Maximum Number</title><link>http://localhost:4321/dsa/create-maximum-number/</link><guid isPermaLink="true">http://localhost:4321/dsa/create-maximum-number/</guid><description>From two digit arrays, pick subsequences of lengths summing to k and merge them into the lexicographically largest k-digit number.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Hard</category><category>Two Pointers</category><category>two-pointers</category><category>monotonic-stack</category><category>greedy</category></item><item><title>Cyclic Sort</title><link>http://localhost:4321/dsa/cyclic-sort/</link><guid isPermaLink="true">http://localhost:4321/dsa/cyclic-sort/</guid><description>curriculum problem — sort `nums` containing exactly the integers [1..n] in O(n) via in-place swap.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Easy</category><category>Cyclic Sort</category><category>cyclic-sort</category></item><item><title>Custom Sort String</title><link>http://localhost:4321/dsa/custom-sort-string/</link><guid isPermaLink="true">http://localhost:4321/dsa/custom-sort-string/</guid><description>Reorder `s` so its characters follow the custom alphabet `order` first.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Medium</category><category>Hash Maps</category><category>hash-map</category><category>sorting</category><category>strings</category></item><item><title>Data Stream as Disjoint Intervals</title><link>http://localhost:4321/dsa/data-stream-as-disjoint-intervals/</link><guid isPermaLink="true">http://localhost:4321/dsa/data-stream-as-disjoint-intervals/</guid><description>Maintain disjoint sorted intervals under add(int) and getIntervals() via a std::map keyed by start.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Hard</category><category>Intervals</category><category>intervals</category><category>ordered-map</category></item><item><title>Daily Temperatures</title><link>http://localhost:4321/dsa/daily-temperatures/</link><guid isPermaLink="true">http://localhost:4321/dsa/daily-temperatures/</guid><description>Monotonic decreasing stack — pop indices whose temperature is exceeded and record the gap.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Medium</category><category>Stacks</category><category>monotonic-stack</category><category>array</category></item><item><title>Decode String</title><link>http://localhost:4321/dsa/decode-string/</link><guid isPermaLink="true">http://localhost:4321/dsa/decode-string/</guid><description>Stacks of (count, prefix); on each `]` apply the multiplication and concatenate back to the outer prefix.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Medium</category><category>Stacks</category><category>stack</category><category>parsing</category><category>string</category></item><item><title>Decode Ways</title><link>http://localhost:4321/dsa/decode-ways/</link><guid isPermaLink="true">http://localhost:4321/dsa/decode-ways/</guid><description>Number of decodings of a digit string under the A=1, B=2, ..., Z=26 mapping — 1D DP.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Medium</category><category>Dynamic Programming</category><category>dp</category><category>string</category></item><item><title>Delete N Nodes After M Nodes of a Linked List</title><link>http://localhost:4321/dsa/delete-n-nodes-after-m-nodes-of-a-linked-list/</link><guid isPermaLink="true">http://localhost:4321/dsa/delete-n-nodes-after-m-nodes-of-a-linked-list/</guid><description>curriculum-variant — keep m, delete n, repeat throughout the list.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Easy</category><category>In-Place Linked List</category><category>linked-list</category></item><item><title>Delete Nodes And Return Forest</title><link>http://localhost:4321/dsa/delete-nodes-and-return-forest/</link><guid isPermaLink="true">http://localhost:4321/dsa/delete-nodes-and-return-forest/</guid><description>Post-order DFS — a node whose value is to delete returns null and pushes its non-null children as roots.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Medium</category><category>Tree DFS</category><category>tree</category><category>dfs</category></item><item><title>Design HashMap</title><link>http://localhost:4321/dsa/design-hashmap/</link><guid isPermaLink="true">http://localhost:4321/dsa/design-hashmap/</guid><description>Implement a hash map from scratch using array buckets with chaining.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Easy</category><category>Hash Maps</category><category>hash-map</category><category>design</category></item><item><title>Design Add and Search Words Data Structure</title><link>http://localhost:4321/dsa/design-add-and-search-words-data-structure/</link><guid isPermaLink="true">http://localhost:4321/dsa/design-add-and-search-words-data-structure/</guid><description>Trie with wildcard `.` search via DFS branching on unknown characters.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Medium</category><category>Trie</category><category>trie</category><category>dfs</category><category>design</category></item><item><title>Design File System</title><link>http://localhost:4321/dsa/design-file-system/</link><guid isPermaLink="true">http://localhost:4321/dsa/design-file-system/</guid><description>Hash map of full path to value — createPath fails if path exists or parent missing.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Medium</category><category>Review Challenges</category><category>design</category><category>hash-map</category><category>string</category></item><item><title>Design In-Memory File System</title><link>http://localhost:4321/dsa/design-in-memory-file-system/</link><guid isPermaLink="true">http://localhost:4321/dsa/design-in-memory-file-system/</guid><description>Trie of directories where leaf nodes carry a content string — recursive path walk for ls/mkdir/read/write.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Hard</category><category>Review Challenges</category><category>design</category><category>trie</category><category>hash-map</category><category>string</category></item><item><title>Design HashSet</title><link>http://localhost:4321/dsa/design-hashset/</link><guid isPermaLink="true">http://localhost:4321/dsa/design-hashset/</guid><description>Open-addressing or separate-chaining hash set — bucket by hash, linear list inside each bucket.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Easy</category><category>Custom Data Structs</category><category>design</category><category>hash-set</category></item><item><title>Design Tic-Tac-Toe</title><link>http://localhost:4321/dsa/design-tic-tac-toe/</link><guid isPermaLink="true">http://localhost:4321/dsa/design-tic-tac-toe/</guid><description>Detect a winner in O(1) per move by tracking row/column/diagonal sums.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Medium</category><category>Tracking Patterns</category><category>design</category><category>simulation</category></item><item><title>Detonate the Maximum Bombs</title><link>http://localhost:4321/dsa/detonate-the-maximum-bombs/</link><guid isPermaLink="true">http://localhost:4321/dsa/detonate-the-maximum-bombs/</guid><description>Build edge i to j iff bomb i reaches bomb j; BFS/DFS from each source and take the max reachable.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Medium</category><category>Math &amp; Geometry</category><category>geometry</category><category>graph</category><category>bfs</category><category>dfs</category></item><item><title>Diet Plan Performance</title><link>http://localhost:4321/dsa/diet-plan-performance/</link><guid isPermaLink="true">http://localhost:4321/dsa/diet-plan-performance/</guid><description>Score a length-k window by total calories vs lower/upper limits — fixed-size sliding window.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Easy</category><category>Sliding Window</category><category>sliding-window</category><category>array</category></item><item><title>Diameter of Binary Tree</title><link>http://localhost:4321/dsa/diameter-of-binary-tree/</link><guid isPermaLink="true">http://localhost:4321/dsa/diameter-of-binary-tree/</guid><description>DFS returns subtree depth; meanwhile track best left + right pair at any bend.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Easy</category><category>Tree DFS</category><category>tree</category><category>dfs</category></item><item><title>Distinct Subsequences</title><link>http://localhost:4321/dsa/distinct-subsequences/</link><guid isPermaLink="true">http://localhost:4321/dsa/distinct-subsequences/</guid><description>Count distinct subsequences of s that equal t — 2D DP over prefix counts.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Hard</category><category>Dynamic Programming</category><category>dp</category><category>string</category></item><item><title>Divide Array Into Increasing Sequences</title><link>http://localhost:4321/dsa/divide-array-into-increasing-sequences/</link><guid isPermaLink="true">http://localhost:4321/dsa/divide-array-into-increasing-sequences/</guid><description>Can we partition a sorted array into ≥k-length strictly increasing subsequences? Max frequency check.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Hard</category><category>Tracking Patterns</category><category>hash-map</category><category>counting</category><category>greedy</category></item><item><title>Divide Chocolate</title><link>http://localhost:4321/dsa/divide-chocolate/</link><guid isPermaLink="true">http://localhost:4321/dsa/divide-chocolate/</guid><description>Cut the chocolate bar into k+1 contiguous pieces maximizing the minimum piece sum — binary search on the answer.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Hard</category><category>Modified Binary Search</category><category>binary-search</category><category>greedy</category></item><item><title>Dot Product of Two Sparse Vectors</title><link>http://localhost:4321/dsa/dot-product-of-two-sparse-vectors/</link><guid isPermaLink="true">http://localhost:4321/dsa/dot-product-of-two-sparse-vectors/</guid><description>Implement dot product for vectors with mostly zero entries — store only non-zero indices.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Medium</category><category>Hash Maps</category><category>hash-map</category><category>design</category><category>two-pointer</category></item><item><title>Employee Free Time</title><link>http://localhost:4321/dsa/employee-free-time/</link><guid isPermaLink="true">http://localhost:4321/dsa/employee-free-time/</guid><description>Find common free intervals across employee schedules — merge all intervals, take the gaps.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Hard</category><category>Intervals</category><category>intervals</category><category>sorting</category></item><item><title>Encode and Decode Strings</title><link>http://localhost:4321/dsa/encode-and-decode-strings/</link><guid isPermaLink="true">http://localhost:4321/dsa/encode-and-decode-strings/</guid><description>Length-prefix framing — encode each string as &quot;len#payload&quot;; decode by parsing the length up to the delimiter, then slicing.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Medium</category><category>Bitwise Operations</category><category>string</category><category>parsing</category><category>serialization</category></item><item><title>Equal Rational Numbers</title><link>http://localhost:4321/dsa/equal-rational-numbers/</link><guid isPermaLink="true">http://localhost:4321/dsa/equal-rational-numbers/</guid><description>Parse non-repeating + repeating parts, expand to a long decimal, compare floats with tolerance — or reduce to fractions.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Hard</category><category>Math &amp; Geometry</category><category>math</category><category>string</category><category>parsing</category></item><item><title>Dungeon Game</title><link>http://localhost:4321/dsa/dungeon-game/</link><guid isPermaLink="true">http://localhost:4321/dsa/dungeon-game/</guid><description>Minimum starting HP to reach the bottom-right alive — DP from bottom-right backwards.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Hard</category><category>Dynamic Programming</category><category>dp</category><category>grid</category></item><item><title>Evaluate Reverse Polish Notation</title><link>http://localhost:4321/dsa/evaluate-reverse-polish-notation/</link><guid isPermaLink="true">http://localhost:4321/dsa/evaluate-reverse-polish-notation/</guid><description>Stack of operands — on operator, pop two, apply, push result.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Medium</category><category>Review Challenges</category><category>stack</category><category>string</category><category>parsing</category></item><item><title>Erect the Fence</title><link>http://localhost:4321/dsa/erect-the-fence/</link><guid isPermaLink="true">http://localhost:4321/dsa/erect-the-fence/</guid><description>Convex hull via Andrew&apos;s monotone chain — return all hull points including collinear edge points.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Hard</category><category>Math &amp; Geometry</category><category>geometry</category><category>convex-hull</category><category>math</category></item><item><title>Evaluate Division</title><link>http://localhost:4321/dsa/evaluate-division/</link><guid isPermaLink="true">http://localhost:4321/dsa/evaluate-division/</guid><description>Compute `a / d` from given pairwise ratios — DFS over the ratio graph (or weighted Union-Find).</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Medium</category><category>Union Find</category><category>union-find</category><category>graph</category><category>dfs</category></item><item><title>Exclusive Time of Functions</title><link>http://localhost:4321/dsa/exclusive-time-of-functions/</link><guid isPermaLink="true">http://localhost:4321/dsa/exclusive-time-of-functions/</guid><description>Stack of currently-running functions; on each log line, charge elapsed time to the stack top.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Medium</category><category>Stacks</category><category>stack</category><category>simulation</category><category>parsing</category></item><item><title>Fibonacci Number</title><link>http://localhost:4321/dsa/fibonacci-number/</link><guid isPermaLink="true">http://localhost:4321/dsa/fibonacci-number/</guid><description>Iterative two-variable rolling — O(1) space.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Easy</category><category>Math &amp; Geometry</category><category>dp</category><category>math</category><category>recursion</category></item><item><title>Find All Anagrams in a String</title><link>http://localhost:4321/dsa/find-all-anagrams-in-a-string/</link><guid isPermaLink="true">http://localhost:4321/dsa/find-all-anagrams-in-a-string/</guid><description>Return all start indices of `p`&apos;s anagrams in `s` — sliding window of letter counts.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Medium</category><category>Tracking Patterns</category><category>sliding-window</category><category>hash-map</category><category>strings</category></item><item><title>Final Array State After K Multiplication Operations I</title><link>http://localhost:4321/dsa/final-array-state-after-k-multiplication-operations-i/</link><guid isPermaLink="true">http://localhost:4321/dsa/final-array-state-after-k-multiplication-operations-i/</guid><description>Apply k multiplications — each picks the smallest element (smallest index on ties) and multiplies it by m.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Easy</category><category>Top K Elements</category><category>top-k</category><category>heaps</category></item><item><title>Find All Duplicates in an Array</title><link>http://localhost:4321/dsa/find-all-duplicates-in-an-array/</link><guid isPermaLink="true">http://localhost:4321/dsa/find-all-duplicates-in-an-array/</guid><description>Same sign-flip trick — if `nums[|v| - 1]` is already negative, `|v|` is a duplicate.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Medium</category><category>Review Challenges</category><category>array</category><category>in-place-hash</category></item><item><title>Find All Numbers Disappeared in an Array</title><link>http://localhost:4321/dsa/find-all-numbers-disappeared-in-an-array/</link><guid isPermaLink="true">http://localhost:4321/dsa/find-all-numbers-disappeared-in-an-array/</guid><description>Use the array itself as a hash — negate the value at index `|nums[i]| - 1`; positives left are the missing.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Easy</category><category>Review Challenges</category><category>array</category><category>in-place-hash</category></item><item><title>Find All Possible Recipes from Given Supplies</title><link>http://localhost:4321/dsa/find-all-possible-recipes-from-given-supplies/</link><guid isPermaLink="true">http://localhost:4321/dsa/find-all-possible-recipes-from-given-supplies/</guid><description>Which recipes are makeable from initial supplies? Topological sort over the ingredient DAG.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Medium</category><category>Topological Sort</category><category>topological-sort</category><category>graph</category></item><item><title>Find Center of Star Graph</title><link>http://localhost:4321/dsa/find-center-of-star-graph/</link><guid isPermaLink="true">http://localhost:4321/dsa/find-center-of-star-graph/</guid><description>The center node appears in every edge — so it must appear in the first two edges.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Easy</category><category>Graphs</category><category>graph</category></item><item><title>Find Duplicate File in System</title><link>http://localhost:4321/dsa/find-duplicate-file-in-system/</link><guid isPermaLink="true">http://localhost:4321/dsa/find-duplicate-file-in-system/</guid><description>Group files by content using a hash map keyed on the content blob.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Medium</category><category>Hash Maps</category><category>hash-map</category><category>strings</category><category>parsing</category></item><item><title>Find First and Last Position of Element in Sorted Array</title><link>http://localhost:4321/dsa/find-first-and-last-position-of-element-in-sorted-array/</link><guid isPermaLink="true">http://localhost:4321/dsa/find-first-and-last-position-of-element-in-sorted-array/</guid><description>Return the [first, last] indices of target via two boundary binary searches (lower_bound and upper_bound).</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Medium</category><category>Modified Binary Search</category><category>binary-search</category></item><item><title>Find if Path Exists in Graph</title><link>http://localhost:4321/dsa/find-if-path-exists-in-graph/</link><guid isPermaLink="true">http://localhost:4321/dsa/find-if-path-exists-in-graph/</guid><description>BFS/DFS or Union-Find to check connectivity between two nodes in an undirected graph.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Easy</category><category>Union Find</category><category>union-find</category><category>bfs</category><category>graph</category></item><item><title>Find K Closest Elements</title><link>http://localhost:4321/dsa/find-k-closest-elements/</link><guid isPermaLink="true">http://localhost:4321/dsa/find-k-closest-elements/</guid><description>Binary search on the leftmost index of the k-sized window minimizing distance to x.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Medium</category><category>Modified Binary Search</category><category>binary-search</category><category>two-pointers</category></item><item><title>Find K Pairs with Smallest Sums</title><link>http://localhost:4321/dsa/find-k-pairs-with-smallest-sums/</link><guid isPermaLink="true">http://localhost:4321/dsa/find-k-pairs-with-smallest-sums/</guid><description>Among all pairs (a, b) from two sorted arrays, return the k with the smallest sum — heap over the implicit grid.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Medium</category><category>K-way Merge</category><category>k-way-merge</category><category>heaps</category></item><item><title>Find K-Sum Subsets</title><link>http://localhost:4321/dsa/find-k-sum-subsets/</link><guid isPermaLink="true">http://localhost:4321/dsa/find-k-sum-subsets/</guid><description>curriculum variant — return the k subsets with the largest sums, via heap-based BFS over subset construction.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Medium</category><category>Subsets</category><category>subsets</category><category>heaps</category><category>top-k</category></item><item><title>Find K-th Smallest Pair Distance</title><link>http://localhost:4321/dsa/find-k-th-smallest-pair-distance/</link><guid isPermaLink="true">http://localhost:4321/dsa/find-k-th-smallest-pair-distance/</guid><description>Binary search the distance; count pairs with distance at most mid using a sorted two-pointer sweep.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Hard</category><category>Sort and Search</category><category>binary-search</category><category>two-pointers</category><category>parametric-search</category></item><item><title>Find Longest Self-Contained Substring</title><link>http://localhost:4321/dsa/find-longest-self-contained-substring/</link><guid isPermaLink="true">http://localhost:4321/dsa/find-longest-self-contained-substring/</guid><description>Find the longest substring such that no letter inside it appears anywhere outside the substring.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Hard</category><category>Hash Maps</category><category>hash-map</category><category>prefix-sum</category><category>strings</category></item><item><title>Find Median from a Data Stream</title><link>http://localhost:4321/dsa/find-median-from-data-stream/</link><guid isPermaLink="true">http://localhost:4321/dsa/find-median-from-data-stream/</guid><description>Maintain the running median with two heaps — max-heap for the lower half, min-heap for the upper half.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Hard</category><category>Heaps</category><category>heaps</category><category>design</category></item><item><title>Find Minimum Diameter After Merging Two Trees</title><link>http://localhost:4321/dsa/find-minimum-diameter-after-merging-two-trees/</link><guid isPermaLink="true">http://localhost:4321/dsa/find-minimum-diameter-after-merging-two-trees/</guid><description>Connect two trees with one edge minimizing the resulting tree&apos;s diameter.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Hard</category><category>Tree BFS</category><category>tree</category><category>bfs</category><category>graph</category></item><item><title>Find Peak Element</title><link>http://localhost:4321/dsa/find-peak-element/</link><guid isPermaLink="true">http://localhost:4321/dsa/find-peak-element/</guid><description>Find any peak (greater than both neighbors) in O(log n) using binary search on the slope.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Medium</category><category>Modified Binary Search</category><category>binary-search</category></item><item><title>Find Minimum in Rotated Sorted Array</title><link>http://localhost:4321/dsa/find-minimum-in-rotated-sorted-array/</link><guid isPermaLink="true">http://localhost:4321/dsa/find-minimum-in-rotated-sorted-array/</guid><description>Binary search — compare mid to right end to decide which half holds the rotation pivot.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Medium</category><category>Review Challenges</category><category>binary-search</category><category>array</category></item><item><title>Find Minimum in Rotated Sorted Array II</title><link>http://localhost:4321/dsa/find-minimum-in-rotated-sorted-array-ii/</link><guid isPermaLink="true">http://localhost:4321/dsa/find-minimum-in-rotated-sorted-array-ii/</guid><description>Find the minimum in a rotated sorted array that may contain duplicates — binary search with shrink-on-tie.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Hard</category><category>Modified Binary Search</category><category>binary-search</category></item><item><title>Find Subsequence of Length K with the Largest Sum</title><link>http://localhost:4321/dsa/find-subsequence-of-length-k-with-the-largest-sum/</link><guid isPermaLink="true">http://localhost:4321/dsa/find-subsequence-of-length-k-with-the-largest-sum/</guid><description>Pick the k largest values then output them in original-order.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Easy</category><category>Top K Elements</category><category>top-k</category><category>heaps</category></item><item><title>Find Right Interval</title><link>http://localhost:4321/dsa/find-right-interval/</link><guid isPermaLink="true">http://localhost:4321/dsa/find-right-interval/</guid><description>For each interval, find the index of the interval whose start is the smallest value ≥ this interval&apos;s end — sorted array + binary search.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Medium</category><category>Heaps</category><category>heaps</category><category>binary-search</category><category>sorting</category></item><item><title>Find the Difference</title><link>http://localhost:4321/dsa/find-the-difference/</link><guid isPermaLink="true">http://localhost:4321/dsa/find-the-difference/</guid><description>XOR all characters of both strings — the lone unmatched char survives.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Easy</category><category>Bitwise Operations</category><category>bit-manipulation</category><category>xor</category><category>string</category></item><item><title>Find Target Indices After Sorting Array</title><link>http://localhost:4321/dsa/find-target-indices-after-sorting-array/</link><guid isPermaLink="true">http://localhost:4321/dsa/find-target-indices-after-sorting-array/</guid><description>Without sorting, count smaller and equal elements to derive the target&apos;s index range.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Easy</category><category>Sort and Search</category><category>counting</category><category>sorting</category></item><item><title>Find The Duplicate Number</title><link>http://localhost:4321/dsa/find-the-duplicate-number/</link><guid isPermaLink="true">http://localhost:4321/dsa/find-the-duplicate-number/</guid><description>Find the duplicate in an array of n+1 integers in range [1, n] using Floyd&apos;s cycle detection on indices.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Medium</category><category>Fast and Slow Pointers</category><category>fast-slow</category><category>array</category></item><item><title>Find the Distance Value Between Two Arrays</title><link>http://localhost:4321/dsa/find-the-distance-value-between-two-arrays/</link><guid isPermaLink="true">http://localhost:4321/dsa/find-the-distance-value-between-two-arrays/</guid><description>For each element of arr1, binary search arr2 for the nearest neighbor and check the gap.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Easy</category><category>Sort and Search</category><category>binary-search</category><category>sorting</category></item><item><title>Find the K-Sum of an Array</title><link>http://localhost:4321/dsa/find-the-k-sum-of-an-array/</link><guid isPermaLink="true">http://localhost:4321/dsa/find-the-k-sum-of-an-array/</guid><description>kth largest of all subsequence sums — flip signs of negatives, sort, then BFS through pop-or-replace via a min-heap.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Hard</category><category>Top K Elements</category><category>top-k</category><category>heaps</category></item><item><title>Find the Kth Largest Integer in the Array</title><link>http://localhost:4321/dsa/find-the-kth-largest-integer-in-the-array/</link><guid isPermaLink="true">http://localhost:4321/dsa/find-the-kth-largest-integer-in-the-array/</guid><description>kth-largest where elements are strings of arbitrary length — custom comparator on length then lex.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Medium</category><category>Top K Elements</category><category>top-k</category><category>heaps</category></item><item><title>Find the First K Missing Positive Numbers</title><link>http://localhost:4321/dsa/find-the-first-k-missing-positive-numbers/</link><guid isPermaLink="true">http://localhost:4321/dsa/find-the-first-k-missing-positive-numbers/</guid><description>curriculum-track — return the first k positive integers missing from `nums` using cyclic sort then post-scan.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Easy</category><category>Cyclic Sort</category><category>cyclic-sort</category></item><item><title>Find The K-th Lucky Number</title><link>http://localhost:4321/dsa/find-the-k-th-lucky-number/</link><guid isPermaLink="true">http://localhost:4321/dsa/find-the-k-th-lucky-number/</guid><description>Lucky numbers (digits in {6,8}) enumerated in order are binary numerals over the digit pair — convert k+1 to binary, map bits.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Medium</category><category>Bitwise Operations</category><category>bit-manipulation</category><category>math</category><category>string</category></item><item><title>Find the Longest Substring Having Vowels in Even Counts</title><link>http://localhost:4321/dsa/find-the-longest-substring-having-vowels-in-even-counts/</link><guid isPermaLink="true">http://localhost:4321/dsa/find-the-longest-substring-having-vowels-in-even-counts/</guid><description>Bitmask parity of vowel counts as state — first-occurrence map gives the longest range with all-zero parity.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Medium</category><category>Bitwise Operations</category><category>bit-manipulation</category><category>prefix-state</category><category>hash-map</category></item><item><title>Find the Town Judge</title><link>http://localhost:4321/dsa/find-the-town-judge/</link><guid isPermaLink="true">http://localhost:4321/dsa/find-the-town-judge/</guid><description>A judge has in-degree n-1 and out-degree 0 — one pass through trust counts both.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Easy</category><category>Graphs</category><category>graph</category><category>in-degree</category></item><item><title>Find Words That Can Be Formed by Characters</title><link>http://localhost:4321/dsa/find-words-that-can-be-formed-by-characters/</link><guid isPermaLink="true">http://localhost:4321/dsa/find-words-that-can-be-formed-by-characters/</guid><description>Sum lengths of words whose characters are a multiset subset of an inventory string.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Easy</category><category>Tracking Patterns</category><category>hash-map</category><category>counting</category><category>strings</category></item><item><title>Find the Lexicographically Largest String From Box II</title><link>http://localhost:4321/dsa/find-the-lexicographically-largest-string-from-box-ii/</link><guid isPermaLink="true">http://localhost:4321/dsa/find-the-lexicographically-largest-string-from-box-ii/</guid><description>curriculum-curriculum variant — given a string and a per-step swap budget, produce the lexicographically largest result via greedy two-pointer swaps.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Hard</category><category>Two Pointers</category><category>two-pointers</category><category>greedy</category><category>string</category></item><item><title>Finding MK Average</title><link>http://localhost:4321/dsa/finding-mk-average/</link><guid isPermaLink="true">http://localhost:4321/dsa/finding-mk-average/</guid><description>MK-average over a stream — sliding window of last m, three multisets (low/mid/high) for trimmed-mean maintenance.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Hard</category><category>Custom Data Structs</category><category>design</category><category>multiset</category><category>sliding-window</category></item><item><title>First Bad Version</title><link>http://localhost:4321/dsa/first-bad-version/</link><guid isPermaLink="true">http://localhost:4321/dsa/first-bad-version/</guid><description>Find the first index where isBadVersion(i) becomes true — boundary binary search.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Easy</category><category>Modified Binary Search</category><category>binary-search</category></item><item><title>First Missing Positive</title><link>http://localhost:4321/dsa/first-missing-positive/</link><guid isPermaLink="true">http://localhost:4321/dsa/first-missing-positive/</guid><description>Smallest missing positive integer — cyclic sort placing each value at index value-1.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Hard</category><category>Cyclic Sort</category><category>cyclic-sort</category></item><item><title>First Unique Character in a String</title><link>http://localhost:4321/dsa/first-unique-character-in-a-string/</link><guid isPermaLink="true">http://localhost:4321/dsa/first-unique-character-in-a-string/</guid><description>Return the index of the first non-repeating character, or -1.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Easy</category><category>Tracking Patterns</category><category>hash-map</category><category>counting</category><category>strings</category></item><item><title>Flatten Binary Tree to Linked List</title><link>http://localhost:4321/dsa/flatten-binary-tree-to-linked-list/</link><guid isPermaLink="true">http://localhost:4321/dsa/flatten-binary-tree-to-linked-list/</guid><description>Right-root-left reverse traversal — append each node to the front of a growing chain.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Medium</category><category>Tree DFS</category><category>tree</category><category>dfs</category></item><item><title>Flatten Nested List Iterator</title><link>http://localhost:4321/dsa/flatten-nested-list-iterator/</link><guid isPermaLink="true">http://localhost:4321/dsa/flatten-nested-list-iterator/</guid><description>Stack of reverse-iterators; unwind lists lazily so each next() is amortized O(1).</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Medium</category><category>Stacks</category><category>stack</category><category>iterator</category><category>design</category></item><item><title>Flip Columns For Maximum Number of Equal Rows</title><link>http://localhost:4321/dsa/flip-columns-for-maximum-number-of-equal-rows/</link><guid isPermaLink="true">http://localhost:4321/dsa/flip-columns-for-maximum-number-of-equal-rows/</guid><description>Two rows become identical after some column flips iff they&apos;re equal or exact complements; bucket-count both forms.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Medium</category><category>Matrices</category><category>matrix</category><category>hashing</category></item><item><title>Flipping an Image</title><link>http://localhost:4321/dsa/flipping-an-image/</link><guid isPermaLink="true">http://localhost:4321/dsa/flipping-an-image/</guid><description>Reverse each row, then invert each bit — fuse both ops by walking from both ends inward.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Easy</category><category>Bitwise Operations</category><category>matrix</category><category>two-pointers</category><category>bit-manipulation</category></item><item><title>Flip Game</title><link>http://localhost:4321/dsa/flip-game/</link><guid isPermaLink="true">http://localhost:4321/dsa/flip-game/</guid><description>All next states after flipping any consecutive &quot;++&quot; to &quot;--&quot; — linear scan.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Easy</category><category>Backtracking</category><category>backtracking</category><category>string</category></item><item><title>Fraction to Recurring Decimal</title><link>http://localhost:4321/dsa/fraction-to-recurring-decimal/</link><guid isPermaLink="true">http://localhost:4321/dsa/fraction-to-recurring-decimal/</guid><description>Long-divide numerator by denominator and wrap the repeating cycle in parentheses.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Medium</category><category>Hash Maps</category><category>hash-map</category><category>math</category><category>strings</category></item><item><title>Freedom Trail</title><link>http://localhost:4321/dsa/freedom-trail/</link><guid isPermaLink="true">http://localhost:4321/dsa/freedom-trail/</guid><description>Minimum steps to spell `key` by rotating a ring — DP over (key index, ring position).</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Hard</category><category>Dynamic Programming</category><category>dp</category></item><item><title>Flood Fill</title><link>http://localhost:4321/dsa/flood-fill/</link><guid isPermaLink="true">http://localhost:4321/dsa/flood-fill/</guid><description>Recolor a connected region in a grid — DFS or BFS from the start cell.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Easy</category><category>Backtracking</category><category>backtracking</category><category>grid</category><category>dfs</category></item><item><title>Frequency of the Most Frequent Element</title><link>http://localhost:4321/dsa/frequency-of-the-most-frequent-element/</link><guid isPermaLink="true">http://localhost:4321/dsa/frequency-of-the-most-frequent-element/</guid><description>After sorting, slide a window while the cost of raising all elements to the max ≤ k.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Medium</category><category>Sliding Window</category><category>sliding-window</category><category>sorting</category><category>array</category></item><item><title>Frog Jump</title><link>http://localhost:4321/dsa/frog-jump/</link><guid isPermaLink="true">http://localhost:4321/dsa/frog-jump/</guid><description>Can a frog reach the last stone with jump-size constraints? Hash-map per-stone reachable jumps.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Hard</category><category>Dynamic Programming</category><category>dp</category><category>hash-set</category></item><item><title>Game of Life</title><link>http://localhost:4321/dsa/game-of-life/</link><guid isPermaLink="true">http://localhost:4321/dsa/game-of-life/</guid><description>Encode next-state in the high bit so each cell carries (current, next) without extra storage.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Medium</category><category>Matrices</category><category>matrix</category><category>bit-manipulation</category><category>in-place</category></item><item><title>Frog Position After T Seconds</title><link>http://localhost:4321/dsa/frog-position-after-t-seconds/</link><guid isPermaLink="true">http://localhost:4321/dsa/frog-position-after-t-seconds/</guid><description>Probability that a frog starting at node 1 lands on target after exactly T seconds — BFS with branching probabilities.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Hard</category><category>Tree BFS</category><category>tree</category><category>bfs</category><category>probability</category></item><item><title>Gas Station</title><link>http://localhost:4321/dsa/gas-station/</link><guid isPermaLink="true">http://localhost:4321/dsa/gas-station/</guid><description>Find a starting gas station so you can complete a circular tour — single-pass greedy with a balance reset.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Medium</category><category>Greedy Techniques</category><category>greedy</category><category>array</category></item><item><title>Fruit Into Baskets</title><link>http://localhost:4321/dsa/fruit-into-baskets/</link><guid isPermaLink="true">http://localhost:4321/dsa/fruit-into-baskets/</guid><description>Longest subarray with at most two distinct values — variable window with a small frequency map.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Medium</category><category>Sliding Window</category><category>sliding-window</category><category>hash-map</category></item><item><title>Get the Maximum Score</title><link>http://localhost:4321/dsa/get-the-maximum-score/</link><guid isPermaLink="true">http://localhost:4321/dsa/get-the-maximum-score/</guid><description>Walk two sorted arrays in lockstep; at each shared element take the better of the two intermediate sums.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Hard</category><category>Two Pointers</category><category>two-pointers</category><category>array</category><category>dp</category></item><item><title>Generate Parentheses</title><link>http://localhost:4321/dsa/generate-parentheses/</link><guid isPermaLink="true">http://localhost:4321/dsa/generate-parentheses/</guid><description>Generate all well-formed parentheses combinations of length 2n — DFS with open/close counters.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Medium</category><category>Subsets</category><category>subsets</category><category>backtracking</category></item><item><title>Greatest Common Divisor of Strings</title><link>http://localhost:4321/dsa/greatest-common-divisor-of-strings/</link><guid isPermaLink="true">http://localhost:4321/dsa/greatest-common-divisor-of-strings/</guid><description>Strings have a divisor iff str1 + str2 == str2 + str1; if so, the answer is the gcd-length prefix.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Easy</category><category>Math &amp; Geometry</category><category>string</category><category>gcd</category><category>math</category></item><item><title>Graph Valid Tree</title><link>http://localhost:4321/dsa/graph-valid-tree/</link><guid isPermaLink="true">http://localhost:4321/dsa/graph-valid-tree/</guid><description>A tree on n nodes has exactly n-1 edges and is connected; union-find or BFS verifies both.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Medium</category><category>Graphs</category><category>graph</category><category>union-find</category><category>dfs</category></item><item><title>Group Anagrams</title><link>http://localhost:4321/dsa/group-anagrams/</link><guid isPermaLink="true">http://localhost:4321/dsa/group-anagrams/</guid><description>Group strings that are anagrams of each other — hash map keyed by sorted form.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Medium</category><category>Tracking Patterns</category><category>hash-map</category><category>sorting</category><category>strings</category></item><item><title>H-Index</title><link>http://localhost:4321/dsa/h-index/</link><guid isPermaLink="true">http://localhost:4321/dsa/h-index/</guid><description>Bucket counting on citation counts to find the maximal h with at least h papers cited h or more times.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Medium</category><category>Sort and Search</category><category>counting-sort</category><category>bucketing</category></item><item><title>Hamming Distance</title><link>http://localhost:4321/dsa/hamming-distance/</link><guid isPermaLink="true">http://localhost:4321/dsa/hamming-distance/</guid><description>XOR the two numbers, then popcount the differing bits.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Easy</category><category>Bitwise Operations</category><category>bit-manipulation</category></item><item><title>Happy Number</title><link>http://localhost:4321/dsa/happy-number/</link><guid isPermaLink="true">http://localhost:4321/dsa/happy-number/</guid><description>Detect happiness (square-digit-sum converges to 1) vs cycle via Floyd&apos;s two-pointer technique.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Easy</category><category>Fast and Slow Pointers</category><category>fast-slow</category><category>math</category></item><item><title>Height of Binary Tree After Subtree Removal Queries</title><link>http://localhost:4321/dsa/height-of-binary-tree-after-subtree-removal-queries/</link><guid isPermaLink="true">http://localhost:4321/dsa/height-of-binary-tree-after-subtree-removal-queries/</guid><description>Precompute per-node depth and best sibling height; for each query return the appropriate maximum.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Hard</category><category>Tree DFS</category><category>tree</category><category>dfs</category><category>preprocessing</category></item><item><title>High Five</title><link>http://localhost:4321/dsa/high-five/</link><guid isPermaLink="true">http://localhost:4321/dsa/high-five/</guid><description>For each student, return the average of their top 5 scores — group then partial sort.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Easy</category><category>Hash Maps</category><category>hash-map</category><category>sorting</category><category>heap</category></item><item><title>House Robber III</title><link>http://localhost:4321/dsa/house-robber-iii/</link><guid isPermaLink="true">http://localhost:4321/dsa/house-robber-iii/</guid><description>Tree-shaped house arrangement — return max loot using DP returning (rob-root, skip-root) per node.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Medium</category><category>Backtracking</category><category>backtracking</category><category>tree</category><category>dp</category></item><item><title>House Robber II</title><link>http://localhost:4321/dsa/house-robber-ii/</link><guid isPermaLink="true">http://localhost:4321/dsa/house-robber-ii/</guid><description>Houses arranged in a circle — run linear House Robber on two ranges, exclude either head or tail.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Medium</category><category>Dynamic Programming</category><category>dp</category></item><item><title>House Robber</title><link>http://localhost:4321/dsa/house-robber/</link><guid isPermaLink="true">http://localhost:4321/dsa/house-robber/</guid><description>Rolling DP — at each house, choose max of &quot;skip&quot; or &quot;rob + value two back&quot;.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Medium</category><category>Review Challenges</category><category>dp</category><category>array</category></item><item><title>Implement Queue Using Stacks</title><link>http://localhost:4321/dsa/implement-queue-using-stacks/</link><guid isPermaLink="true">http://localhost:4321/dsa/implement-queue-using-stacks/</guid><description>Two stacks — push onto in-stack; pop/peek lazily transfer to out-stack to reverse order.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Easy</category><category>Stacks</category><category>stack</category><category>queue</category><category>design</category></item><item><title>Implement LRU Cache</title><link>http://localhost:4321/dsa/implement-lru-cache/</link><guid isPermaLink="true">http://localhost:4321/dsa/implement-lru-cache/</guid><description>O(1) get and put — hash map keyed to a doubly-linked-list node, splice node to the front on access, evict the tail on overflow.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Medium</category><category>Custom Data Structs</category><category>design</category><category>hash-map</category><category>linked-list</category><category>lru</category></item><item><title>Index Pairs of a String</title><link>http://localhost:4321/dsa/index-pairs-of-a-string/</link><guid isPermaLink="true">http://localhost:4321/dsa/index-pairs-of-a-string/</guid><description>Return all (start, end) index pairs where the substring exists in the dictionary — trie walk from each start.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Easy</category><category>Trie</category><category>trie</category><category>strings</category></item><item><title>Implement Trie</title><link>http://localhost:4321/dsa/implement-trie/</link><guid isPermaLink="true">http://localhost:4321/dsa/implement-trie/</guid><description>Build a prefix tree supporting insert, search, and startsWith in O(L).</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Medium</category><category>Trie</category><category>trie</category><category>design</category></item><item><title>Insert Delete GetRandom O(1)</title><link>http://localhost:4321/dsa/insert-delete-getrandom-o-1/</link><guid isPermaLink="true">http://localhost:4321/dsa/insert-delete-getrandom-o-1/</guid><description>Hash map of value to index plus a dense vector — swap-with-last for O(1) delete, uniform random by index.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Medium</category><category>Custom Data Structs</category><category>design</category><category>hash-map</category><category>array</category></item><item><title>Inorder Successor in BST</title><link>http://localhost:4321/dsa/inorder-successor-in-bst/</link><guid isPermaLink="true">http://localhost:4321/dsa/inorder-successor-in-bst/</guid><description>Walk the BST; whenever current value exceeds p, record it as a candidate and descend left.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Medium</category><category>Tree DFS</category><category>tree</category><category>bst</category></item><item><title>Insert Interval</title><link>http://localhost:4321/dsa/insert-interval/</link><guid isPermaLink="true">http://localhost:4321/dsa/insert-interval/</guid><description>Insert a new interval into a sorted non-overlapping list, merging as needed — single linear pass.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Medium</category><category>Intervals</category><category>intervals</category></item><item><title>Insert into a Sorted Circular Linked List</title><link>http://localhost:4321/dsa/insert-into-a-sorted-circular-linked-list/</link><guid isPermaLink="true">http://localhost:4321/dsa/insert-into-a-sorted-circular-linked-list/</guid><description>Insert a value into a sorted circular list at the correct position, handling wrap-around and uniform-value cases.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Medium</category><category>In-Place Linked List</category><category>linked-list</category></item><item><title>Integer to English Words</title><link>http://localhost:4321/dsa/integer-to-english-words/</link><guid isPermaLink="true">http://localhost:4321/dsa/integer-to-english-words/</guid><description>Recurse over thousands groups — each group of 3 digits converted to &quot;hundreds tens units&quot;, suffixed by &quot;Thousand&quot;/&quot;Million&quot;/&quot;Billion&quot;.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Hard</category><category>Math &amp; Geometry</category><category>math</category><category>string</category><category>recursion</category></item><item><title>Interleaving String</title><link>http://localhost:4321/dsa/interleaving-string/</link><guid isPermaLink="true">http://localhost:4321/dsa/interleaving-string/</guid><description>Is s3 an interleaving of s1 and s2? 2D DP over consumed prefixes.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Medium</category><category>Dynamic Programming</category><category>dp</category><category>string</category></item><item><title>Intersection of Two Arrays II</title><link>http://localhost:4321/dsa/intersection-of-two-arrays-ii/</link><guid isPermaLink="true">http://localhost:4321/dsa/intersection-of-two-arrays-ii/</guid><description>Multiset intersection — match each element with multiplicity using a counter.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Easy</category><category>Hash Maps</category><category>hash-map</category><category>arrays</category></item><item><title>Intersection of Two Linked Lists</title><link>http://localhost:4321/dsa/intersection-of-two-linked-lists/</link><guid isPermaLink="true">http://localhost:4321/dsa/intersection-of-two-linked-lists/</guid><description>Find the node where two singly-linked lists merge, in O(1) extra space, via the pointer-swap technique.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Easy</category><category>Two Pointers</category><category>two-pointers</category><category>linked-list</category></item><item><title>Intersection of Two Arrays</title><link>http://localhost:4321/dsa/intersection-of-two-arrays/</link><guid isPermaLink="true">http://localhost:4321/dsa/intersection-of-two-arrays/</guid><description>Return the unique elements common to both arrays — hash set lookup.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Easy</category><category>Hash Maps</category><category>hash-set</category><category>arrays</category></item><item><title>Interval List Intersections</title><link>http://localhost:4321/dsa/interval-list-intersections/</link><guid isPermaLink="true">http://localhost:4321/dsa/interval-list-intersections/</guid><description>Intersect two lists of disjoint sorted intervals — merge-walk with two pointers.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Medium</category><category>Intervals</category><category>intervals</category><category>two-pointers</category></item><item><title>Invert Binary Tree</title><link>http://localhost:4321/dsa/invert-binary-tree/</link><guid isPermaLink="true">http://localhost:4321/dsa/invert-binary-tree/</guid><description>Recursively swap each node&apos;s children — a four-line classic.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Easy</category><category>Tree DFS</category><category>tree</category><category>dfs</category></item><item><title>IPO (Maximize Capital)</title><link>http://localhost:4321/dsa/ipo/</link><guid isPermaLink="true">http://localhost:4321/dsa/ipo/</guid><description>Pick up to k profitable projects with starting capital — greedy with a min-heap of affordable projects and a max-heap of profits.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Hard</category><category>Heaps</category><category>heaps</category><category>greedy</category></item><item><title>Is Subsequence</title><link>http://localhost:4321/dsa/is-subsequence/</link><guid isPermaLink="true">http://localhost:4321/dsa/is-subsequence/</guid><description>Determine if s is a subsequence of t using a single greedy two-pointer walk.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Easy</category><category>Two Pointers</category><category>two-pointers</category><category>string</category></item><item><title>Island Perimeter</title><link>http://localhost:4321/dsa/island-perimeter/</link><guid isPermaLink="true">http://localhost:4321/dsa/island-perimeter/</guid><description>Each land cell contributes 4 minus 2 per shared edge with a neighboring land cell.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Easy</category><category>Matrices</category><category>matrix</category><category>counting</category></item><item><title>Isomorphic Strings</title><link>http://localhost:4321/dsa/isomorphic-strings/</link><guid isPermaLink="true">http://localhost:4321/dsa/isomorphic-strings/</guid><description>Two strings are isomorphic iff there is a bijection between their characters preserving order.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Easy</category><category>Hash Maps</category><category>hash-map</category><category>strings</category></item><item><title>Jewels and Stones</title><link>http://localhost:4321/dsa/jewels-and-stones/</link><guid isPermaLink="true">http://localhost:4321/dsa/jewels-and-stones/</guid><description>Count stones whose type appears among the jewels — hash-set membership.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Easy</category><category>Hash Maps</category><category>hash-set</category><category>strings</category></item><item><title>Jump Game II</title><link>http://localhost:4321/dsa/jump-game-ii/</link><guid isPermaLink="true">http://localhost:4321/dsa/jump-game-ii/</guid><description>Minimum jumps to reach the last index — BFS-style &quot;current reach&quot; frontier.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Medium</category><category>Greedy Techniques</category><category>greedy</category><category>array</category></item><item><title>K Closest Points to Origin</title><link>http://localhost:4321/dsa/k-closest-points-to-origin/</link><guid isPermaLink="true">http://localhost:4321/dsa/k-closest-points-to-origin/</guid><description>Return the k closest points to the origin using a max-heap of size k.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Medium</category><category>Top K Elements</category><category>top-k</category><category>heaps</category></item><item><title>Jump Game I</title><link>http://localhost:4321/dsa/jump-game-i/</link><guid isPermaLink="true">http://localhost:4321/dsa/jump-game-i/</guid><description>Can you reach the last index? Track the maximum reachable index in one greedy pass.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Medium</category><category>Greedy Techniques</category><category>greedy</category><category>array</category></item><item><title>K Empty Slots</title><link>http://localhost:4321/dsa/k-empty-slots/</link><guid isPermaLink="true">http://localhost:4321/dsa/k-empty-slots/</guid><description>First day on which two bloomed flowers are exactly k slots apart with all between unbloomed — sliding-window min over a day-array.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Hard</category><category>Top K Elements</category><category>top-k</category><category>sliding-window</category><category>monotonic-deque</category></item><item><title>K Maximum Sum Combinations From Two Arrays</title><link>http://localhost:4321/dsa/k-maximum-sum-combinations-from-two-arrays/</link><guid isPermaLink="true">http://localhost:4321/dsa/k-maximum-sum-combinations-from-two-arrays/</guid><description>curriculum-track — k largest sums of a[i] + b[j], explored from (sorted top corner) outward via a max-heap.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Hard</category><category>Top K Elements</category><category>top-k</category><category>heaps</category></item><item><title>K-th Smallest in Lexicographical Order</title><link>http://localhost:4321/dsa/k-th-smallest-in-lexicographical-order/</link><guid isPermaLink="true">http://localhost:4321/dsa/k-th-smallest-in-lexicographical-order/</guid><description>Find the k-th lexicographic number in [1, n] by counting subtree sizes in the digit trie.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Hard</category><category>Trie</category><category>trie</category><category>math</category><category>counting</category></item><item><title>K-th Smallest Prime Fraction</title><link>http://localhost:4321/dsa/k-th-smallest-prime-fraction/</link><guid isPermaLink="true">http://localhost:4321/dsa/k-th-smallest-prime-fraction/</guid><description>Among all i&lt;j pairs from a sorted array, return the kth smallest fraction arr[i]/arr[j] via a min-heap.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Medium</category><category>K-way Merge</category><category>k-way-merge</category><category>heaps</category></item><item><title>Koko Eating Bananas</title><link>http://localhost:4321/dsa/koko-eating-bananas/</link><guid isPermaLink="true">http://localhost:4321/dsa/koko-eating-bananas/</guid><description>Binary search the minimum hourly eating speed Koko needs to finish all piles in h hours.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Medium</category><category>Modified Binary Search</category><category>binary-search</category></item><item><title>Kth Largest Element in a Stream</title><link>http://localhost:4321/dsa/kth-largest-element-in-a-stream/</link><guid isPermaLink="true">http://localhost:4321/dsa/kth-largest-element-in-a-stream/</guid><description>Maintain the kth-largest under a streaming add() using a fixed-size min-heap.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Easy</category><category>Top K Elements</category><category>top-k</category><category>heaps</category><category>design</category></item><item><title>Kth Smallest Element in a BST</title><link>http://localhost:4321/dsa/kth-smallest-element-in-a-bst/</link><guid isPermaLink="true">http://localhost:4321/dsa/kth-smallest-element-in-a-bst/</guid><description>Iterative inorder traversal — pop the k-th node visited.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Medium</category><category>Tree DFS</category><category>tree</category><category>bst</category><category>inorder</category></item><item><title>Kth Smallest Element in a Sorted Matrix</title><link>http://localhost:4321/dsa/kth-smallest-element-in-a-sorted-matrix/</link><guid isPermaLink="true">http://localhost:4321/dsa/kth-smallest-element-in-a-sorted-matrix/</guid><description>Row- and column-sorted matrix — binary search on value, or k-way merge over rows.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Medium</category><category>K-way Merge</category><category>k-way-merge</category><category>binary-search</category><category>heaps</category></item><item><title>Kth Largest Element in an Array</title><link>http://localhost:4321/dsa/kth-largest-element-in-an-array/</link><guid isPermaLink="true">http://localhost:4321/dsa/kth-largest-element-in-an-array/</guid><description>Find the kth largest via min-heap of size k or quickselect for average O(n).</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Medium</category><category>Top K Elements</category><category>top-k</category><category>heaps</category><category>quickselect</category></item><item><title>Kth Smallest Number in M Sorted Lists</title><link>http://localhost:4321/dsa/kth-smallest-number-in-m-sorted-lists/</link><guid isPermaLink="true">http://localhost:4321/dsa/kth-smallest-number-in-m-sorted-lists/</guid><description>Find the kth smallest value across m sorted arrays — pop k times from a min-heap of (value, listIdx, idxInList).</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Medium</category><category>K-way Merge</category><category>k-way-merge</category><category>heaps</category></item><item><title>Kth Smallest Number in Multiplication Table</title><link>http://localhost:4321/dsa/kth-smallest-number-in-multiplication-table/</link><guid isPermaLink="true">http://localhost:4321/dsa/kth-smallest-number-in-multiplication-table/</guid><description>Binary search the value; count how many cells of the m-by-n multiplication table are at most mid via a per-row division.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Hard</category><category>Matrices</category><category>binary-search</category><category>matrix</category><category>parametric-search</category></item><item><title>Largest Number</title><link>http://localhost:4321/dsa/largest-number/</link><guid isPermaLink="true">http://localhost:4321/dsa/largest-number/</guid><description>Arrange integers to form the largest concatenated number — sort by custom comparator (a+b vs b+a).</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Medium</category><category>Greedy Techniques</category><category>greedy</category><category>sorting</category><category>string</category></item><item><title>Largest Number After Digit Swaps by Parity</title><link>http://localhost:4321/dsa/largest-number-after-digit-swaps-by-parity/</link><guid isPermaLink="true">http://localhost:4321/dsa/largest-number-after-digit-swaps-by-parity/</guid><description>Sort odd-positioned and even-positioned digits independently in descending order — two heaps.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Easy</category><category>Heaps</category><category>heaps</category></item><item><title>Largest Rectangle in Histogram</title><link>http://localhost:4321/dsa/largest-rectangle-in-histogram/</link><guid isPermaLink="true">http://localhost:4321/dsa/largest-rectangle-in-histogram/</guid><description>Monotonic increasing stack — at every pop, the popped bar&apos;s rectangle spans from previous stack top to current index.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Hard</category><category>Review Challenges</category><category>monotonic-stack</category><category>array</category></item><item><title>Largest Odd Number in String</title><link>http://localhost:4321/dsa/largest-odd-number-in-string/</link><guid isPermaLink="true">http://localhost:4321/dsa/largest-odd-number-in-string/</guid><description>Largest odd-valued substring of a digit string — scan from the right for the first odd digit.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Easy</category><category>Greedy Techniques</category><category>greedy</category><category>string</category></item><item><title>Largest Palindromic Number</title><link>http://localhost:4321/dsa/largest-palindromic-number/</link><guid isPermaLink="true">http://localhost:4321/dsa/largest-palindromic-number/</guid><description>Build the largest palindrome from given digits using greedy half-construction.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Medium</category><category>Greedy Techniques</category><category>greedy</category><category>string</category></item><item><title>Last Day Where You Can Still Cross</title><link>http://localhost:4321/dsa/last-day-where-you-can-still-cross/</link><guid isPermaLink="true">http://localhost:4321/dsa/last-day-where-you-can-still-cross/</guid><description>Latest day on which a path exists from top to bottom while cells flood — reverse Union-Find.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Hard</category><category>Union Find</category><category>union-find</category><category>grid</category><category>reverse-time</category></item><item><title>Lemonade Change</title><link>http://localhost:4321/dsa/lemonade-change/</link><guid isPermaLink="true">http://localhost:4321/dsa/lemonade-change/</guid><description>Greedy — always return the largest bill first when making change.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Easy</category><category>Review Challenges</category><category>greedy</category><category>array</category></item><item><title>Letter Case Permutation</title><link>http://localhost:4321/dsa/letter-case-permutation/</link><guid isPermaLink="true">http://localhost:4321/dsa/letter-case-permutation/</guid><description>Generate every case-variant of a string — DFS with two choices per letter.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Medium</category><category>Subsets</category><category>subsets</category><category>backtracking</category><category>string</category></item><item><title>Least Number of Unique Integers after K Removals</title><link>http://localhost:4321/dsa/least-number-of-unique-integers-after-k-removals/</link><guid isPermaLink="true">http://localhost:4321/dsa/least-number-of-unique-integers-after-k-removals/</guid><description>Drop the rarest integers first — sort frequencies ascending and consume the budget.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Medium</category><category>Top K Elements</category><category>top-k</category><category>greedy</category><category>hash-map</category></item><item><title>Letter Tile Possibilities</title><link>http://localhost:4321/dsa/letter-tile-possibilities/</link><guid isPermaLink="true">http://localhost:4321/dsa/letter-tile-possibilities/</guid><description>Count distinct non-empty sequences buildable from tiles with possibly-duplicate letters — DFS over a frequency map.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Medium</category><category>Subsets</category><category>subsets</category><category>backtracking</category></item><item><title>Lexicographical Numbers</title><link>http://localhost:4321/dsa/lexicographical-numbers/</link><guid isPermaLink="true">http://localhost:4321/dsa/lexicographical-numbers/</guid><description>List 1..n in lexicographic (dictionary) order without sorting.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Medium</category><category>Trie</category><category>trie</category><category>dfs</category><category>math</category></item><item><title>Letter Combinations of a Phone Number</title><link>http://localhost:4321/dsa/letter-combinations-of-a-phone-number/</link><guid isPermaLink="true">http://localhost:4321/dsa/letter-combinations-of-a-phone-number/</guid><description>Cartesian product of digit-to-letters mappings via DFS.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Medium</category><category>Subsets</category><category>subsets</category><category>backtracking</category><category>string</category></item><item><title>LFU Cache</title><link>http://localhost:4321/dsa/lfu-cache/</link><guid isPermaLink="true">http://localhost:4321/dsa/lfu-cache/</guid><description>O(1) LFU — per-frequency LRU bucket, key map, and an evolving min-freq counter.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Hard</category><category>Custom Data Structs</category><category>design</category><category>hash-map</category><category>linked-list</category><category>lfu</category></item><item><title>Linked List Cycle II</title><link>http://localhost:4321/dsa/linked-list-cycle-ii-2/</link><guid isPermaLink="true">http://localhost:4321/dsa/linked-list-cycle-ii-2/</guid><description>Floyd&apos;s tortoise &amp; hare — once they meet, restart one pointer from head; both step at speed 1 and converge at the cycle entry.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Medium</category><category>Review Challenges</category><category>linked-list</category><category>two-pointers</category><category>cycle-detection</category></item><item><title>Linked List Cycle II</title><link>http://localhost:4321/dsa/linked-list-cycle-ii/</link><guid isPermaLink="true">http://localhost:4321/dsa/linked-list-cycle-ii/</guid><description>Find the node where a cycle begins using Floyd&apos;s two-phase detection.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Medium</category><category>Fast and Slow Pointers</category><category>fast-slow</category><category>linked-list</category></item><item><title>Linked List Cycle</title><link>http://localhost:4321/dsa/linked-list-cycle/</link><guid isPermaLink="true">http://localhost:4321/dsa/linked-list-cycle/</guid><description>Detect a cycle in a singly linked list using Floyd&apos;s tortoise-and-hare.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Easy</category><category>Fast and Slow Pointers</category><category>fast-slow</category><category>linked-list</category></item><item><title>Logger Rate Limiter</title><link>http://localhost:4321/dsa/logger-rate-limiter/</link><guid isPermaLink="true">http://localhost:4321/dsa/logger-rate-limiter/</guid><description>Allow a message at most once every 10 seconds — hash map of last-seen timestamps.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Easy</category><category>Hash Maps</category><category>hash-map</category><category>design</category></item><item><title>Linked List Cycle IV</title><link>http://localhost:4321/dsa/linked-list-cycle-iv/</link><guid isPermaLink="true">http://localhost:4321/dsa/linked-list-cycle-iv/</guid><description>curriculum-track follow-up — find the cycle entry and length; not a canonical LeetCode problem.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Medium</category><category>Fast and Slow Pointers</category><category>fast-slow</category><category>linked-list</category></item><item><title>Longest Common Prefix</title><link>http://localhost:4321/dsa/longest-common-prefix/</link><guid isPermaLink="true">http://localhost:4321/dsa/longest-common-prefix/</guid><description>Find the longest common prefix among all strings — vertical scan or trie walk.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Easy</category><category>Trie</category><category>strings</category></item><item><title>Longest Consecutive Sequence</title><link>http://localhost:4321/dsa/longest-consecutive-sequence/</link><guid isPermaLink="true">http://localhost:4321/dsa/longest-consecutive-sequence/</guid><description>Length of the longest run of consecutive integers in O(N) using a hash set.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Medium</category><category>Union Find</category><category>hash-set</category><category>union-find</category></item><item><title>Longest Common Subsequence</title><link>http://localhost:4321/dsa/longest-common-subsequence/</link><guid isPermaLink="true">http://localhost:4321/dsa/longest-common-subsequence/</guid><description>Length of the LCS of two strings — 2D DP rolling over rows.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Medium</category><category>Dynamic Programming</category><category>dp</category><category>string</category></item><item><title>Longest Common Suffix Queries</title><link>http://localhost:4321/dsa/longest-common-suffix-queries/</link><guid isPermaLink="true">http://localhost:4321/dsa/longest-common-suffix-queries/</guid><description>For each query string, find the word with longest common suffix — reversed-trie lookup.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Hard</category><category>Trie</category><category>trie</category><category>strings</category></item><item><title>Longest Cycle in a Graph</title><link>http://localhost:4321/dsa/longest-cycle-in-a-graph/</link><guid isPermaLink="true">http://localhost:4321/dsa/longest-cycle-in-a-graph/</guid><description>In a functional graph (out-degree 1), DFS each node with timestamps; revisiting a current-DFS node closes a cycle.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Hard</category><category>Graphs</category><category>graph</category><category>cycle-detection</category><category>functional-graph</category></item><item><title>Longest Happy Prefix</title><link>http://localhost:4321/dsa/longest-happy-prefix/</link><guid isPermaLink="true">http://localhost:4321/dsa/longest-happy-prefix/</guid><description>Longest proper prefix of `s` that is also a suffix — KMP failure function.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Hard</category><category>Hash Maps</category><category>strings</category><category>kmp</category></item><item><title>Longest Happy String</title><link>http://localhost:4321/dsa/longest-happy-string/</link><guid isPermaLink="true">http://localhost:4321/dsa/longest-happy-string/</guid><description>Build the longest string with no three consecutive same characters — greedy max-heap by remaining count.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Medium</category><category>Heaps</category><category>heaps</category><category>greedy</category></item><item><title>Longest Increasing Subsequence</title><link>http://localhost:4321/dsa/longest-increasing-subsequence/</link><guid isPermaLink="true">http://localhost:4321/dsa/longest-increasing-subsequence/</guid><description>Patience-sort tails — for each value, replace the leftmost tail ≥ it; final tail length is LIS.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Medium</category><category>Review Challenges</category><category>dp</category><category>binary-search</category><category>patience-sort</category></item><item><title>Longest Increasing Path in a Matrix</title><link>http://localhost:4321/dsa/longest-increasing-path-in-a-matrix/</link><guid isPermaLink="true">http://localhost:4321/dsa/longest-increasing-path-in-a-matrix/</guid><description>Longest strictly-increasing path in any direction — DFS with memoization.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Hard</category><category>Dynamic Programming</category><category>dp</category><category>memoization</category><category>grid</category></item><item><title>Longest Palindrome</title><link>http://localhost:4321/dsa/longest-palindrome/</link><guid isPermaLink="true">http://localhost:4321/dsa/longest-palindrome/</guid><description>Length of the longest palindrome buildable from the input letters — count pairs.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Easy</category><category>Hash Maps</category><category>hash-map</category><category>counting</category></item><item><title>Longest Palindromic Substring</title><link>http://localhost:4321/dsa/longest-palindromic-substring/</link><guid isPermaLink="true">http://localhost:4321/dsa/longest-palindromic-substring/</guid><description>Expand around each center (n odd-center, n-1 even-center); track the longest match.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Medium</category><category>Review Challenges</category><category>string</category><category>expand-around-center</category><category>dp</category></item><item><title>Longest Path With Different Adjacent Characters</title><link>http://localhost:4321/dsa/longest-path-with-different-adjacent-characters/</link><guid isPermaLink="true">http://localhost:4321/dsa/longest-path-with-different-adjacent-characters/</guid><description>Longest path in a tree such that no two adjacent nodes share a character — DFS combining top-two child paths per node.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Hard</category><category>Topological Sort</category><category>topological-sort</category><category>tree</category><category>dfs</category></item><item><title>Longest Palindrome by Concatenating Two-Letter Words</title><link>http://localhost:4321/dsa/longest-palindrome-by-concatenating-two-letter-words/</link><guid isPermaLink="true">http://localhost:4321/dsa/longest-palindrome-by-concatenating-two-letter-words/</guid><description>Max-length palindrome built from given 2-letter words — pair each word with its reverse.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Medium</category><category>Tracking Patterns</category><category>hash-map</category><category>counting</category><category>strings</category></item><item><title>Longest Subarray With Maximum Bitwise AND</title><link>http://localhost:4321/dsa/longest-subarray-with-maximum-bitwise-and/</link><guid isPermaLink="true">http://localhost:4321/dsa/longest-subarray-with-maximum-bitwise-and/</guid><description>The maximum AND equals the array&apos;s max — find the longest consecutive run of that value.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Medium</category><category>Bitwise Operations</category><category>bit-manipulation</category><category>array</category></item><item><title>Longest Repeating Character Replacement</title><link>http://localhost:4321/dsa/longest-repeating-character-replacement/</link><guid isPermaLink="true">http://localhost:4321/dsa/longest-repeating-character-replacement/</guid><description>Longest substring achievable with at most k character replacements via a sliding window over character counts.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Medium</category><category>Sliding Window</category><category>sliding-window</category><category>string</category></item><item><title>Longest Substring without Repeating Characters</title><link>http://localhost:4321/dsa/longest-substring-without-repeating-characters/</link><guid isPermaLink="true">http://localhost:4321/dsa/longest-substring-without-repeating-characters/</guid><description>Longest distinct-character substring via sliding window + last-seen index map.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Medium</category><category>Sliding Window</category><category>sliding-window</category><category>string</category><category>hash-map</category></item><item><title>Longest Valid Parentheses</title><link>http://localhost:4321/dsa/longest-valid-parentheses/</link><guid isPermaLink="true">http://localhost:4321/dsa/longest-valid-parentheses/</guid><description>Stack of indices anchored by the last invalid position; on each match, length = i - stack top.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Hard</category><category>Stacks</category><category>stack</category><category>dp</category></item><item><title>Longest Subsequence With Limited Sum</title><link>http://localhost:4321/dsa/longest-subsequence-with-limited-sum/</link><guid isPermaLink="true">http://localhost:4321/dsa/longest-subsequence-with-limited-sum/</guid><description>Sort, prefix-sum, then upper_bound each query to find how many small items fit under the cap.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Easy</category><category>Sort and Search</category><category>sorting</category><category>prefix-sum</category><category>binary-search</category><category>greedy</category></item><item><title>Lowest Common Ancestor of a Binary Search Tree</title><link>http://localhost:4321/dsa/lowest-common-ancestor-of-a-binary-search-tree/</link><guid isPermaLink="true">http://localhost:4321/dsa/lowest-common-ancestor-of-a-binary-search-tree/</guid><description>Walk down — go right if both values exceed node, left if both are less; otherwise current is the LCA.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Medium</category><category>Review Challenges</category><category>tree</category><category>bst</category></item><item><title>Loud and Rich</title><link>http://localhost:4321/dsa/loud-and-rich/</link><guid isPermaLink="true">http://localhost:4321/dsa/loud-and-rich/</guid><description>DFS with memo — for each person, the answer is the minimum-quietness among self and all richer-than-self (transitively).</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Medium</category><category>Review Challenges</category><category>graph</category><category>dfs</category><category>memo</category><category>topological-sort</category></item><item><title>Longest Word With All Prefixes</title><link>http://localhost:4321/dsa/longest-word-with-all-prefixes/</link><guid isPermaLink="true">http://localhost:4321/dsa/longest-word-with-all-prefixes/</guid><description>Find the longest dictionary word whose every prefix is also in the dictionary — DFS on a trie of words.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Medium</category><category>Trie</category><category>trie</category><category>dfs</category></item><item><title>Lowest Common Ancestor of a Binary Tree III</title><link>http://localhost:4321/dsa/lowest-common-ancestor-of-a-binary-tree-iii/</link><guid isPermaLink="true">http://localhost:4321/dsa/lowest-common-ancestor-of-a-binary-tree-iii/</guid><description>Find the LCA of two nodes when each node carries a parent pointer — the two-pointer &quot;linked-list intersection&quot; trick.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Medium</category><category>Two Pointers</category><category>two-pointers</category><category>tree</category><category>linked-list</category></item><item><title>Lowest Common Ancestor of a Binary Tree</title><link>http://localhost:4321/dsa/lowest-common-ancestor-of-a-binary-tree/</link><guid isPermaLink="true">http://localhost:4321/dsa/lowest-common-ancestor-of-a-binary-tree/</guid><description>Post-order DFS — return the first node whose left and right subtrees each contain one of p, q.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Medium</category><category>Tree DFS</category><category>tree</category><category>dfs</category><category>post-order</category></item><item><title>Lucky Numbers in a Matrix</title><link>http://localhost:4321/dsa/lucky-numbers-in-a-matrix/</link><guid isPermaLink="true">http://localhost:4321/dsa/lucky-numbers-in-a-matrix/</guid><description>Precompute per-row minimum and per-column maximum; an element is &quot;lucky&quot; iff it&apos;s both.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Easy</category><category>Graphs</category><category>matrix</category><category>hashing</category></item><item><title>Magnetic Force Between Two Balls</title><link>http://localhost:4321/dsa/magnetic-force-between-two-balls/</link><guid isPermaLink="true">http://localhost:4321/dsa/magnetic-force-between-two-balls/</guid><description>Binary search the largest minimum gap such that m balls can be greedily placed in the sorted positions.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Medium</category><category>Sort and Search</category><category>binary-search</category><category>greedy</category><category>parametric-search</category></item><item><title>Map Sum Pairs</title><link>http://localhost:4321/dsa/map-sum-pairs/</link><guid isPermaLink="true">http://localhost:4321/dsa/map-sum-pairs/</guid><description>Insert (key, val) and query sum of values for keys with a given prefix — trie with subtree sums.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Medium</category><category>Trie</category><category>trie</category><category>design</category></item><item><title>Majority Element</title><link>http://localhost:4321/dsa/majority-element/</link><guid isPermaLink="true">http://localhost:4321/dsa/majority-element/</guid><description>Boyer-Moore vote — increment count when seeing the candidate, decrement otherwise; reset candidate when count hits 0.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Easy</category><category>Review Challenges</category><category>array</category><category>boyer-moore</category><category>voting</category></item><item><title>Matchsticks to Square</title><link>http://localhost:4321/dsa/matchsticks-to-square/</link><guid isPermaLink="true">http://localhost:4321/dsa/matchsticks-to-square/</guid><description>Can the matchsticks be partitioned into 4 equal-sum groups? Backtrack with sort-descending pruning.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Medium</category><category>Backtracking</category><category>backtracking</category></item><item><title>Max Area of Island</title><link>http://localhost:4321/dsa/max-area-of-island/</link><guid isPermaLink="true">http://localhost:4321/dsa/max-area-of-island/</guid><description>DFS each unvisited land cell; flood-fill, count cells, track the maximum.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Medium</category><category>Graphs</category><category>dfs</category><category>grid</category><category>flood-fill</category></item><item><title>Max Consecutive Ones</title><link>http://localhost:4321/dsa/max-consecutive-ones/</link><guid isPermaLink="true">http://localhost:4321/dsa/max-consecutive-ones/</guid><description>Length of the longest run of 1s in a binary array.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Easy</category><category>Tracking Patterns</category><category>arrays</category><category>counting</category></item><item><title>Max Points on a Line</title><link>http://localhost:4321/dsa/max-points-on-a-line/</link><guid isPermaLink="true">http://localhost:4321/dsa/max-points-on-a-line/</guid><description>For each anchor, hash slopes in reduced (dx, dy) form — most popular slope gives the line through this anchor.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Hard</category><category>Math &amp; Geometry</category><category>geometry</category><category>hash-map</category><category>math</category><category>gcd</category></item><item><title>Max Stack</title><link>http://localhost:4321/dsa/max-stack/</link><guid isPermaLink="true">http://localhost:4321/dsa/max-stack/</guid><description>Stack with O(log n) popMax — ordered map of value to iterators into a linked list keeping insertion order.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Hard</category><category>Custom Data Structs</category><category>design</category><category>stack</category><category>ordered-map</category></item><item><title>Maximal Rectangle</title><link>http://localhost:4321/dsa/maximal-rectangle/</link><guid isPermaLink="true">http://localhost:4321/dsa/maximal-rectangle/</guid><description>Largest all-1 rectangle in a binary matrix — per-row &quot;max rectangle in histogram&quot; via monotonic stack.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Hard</category><category>Dynamic Programming</category><category>dp</category><category>monotonic-stack</category></item><item><title>Maximal Score After Applying K Operations</title><link>http://localhost:4321/dsa/maximal-score-after-applying-k-operations/</link><guid isPermaLink="true">http://localhost:4321/dsa/maximal-score-after-applying-k-operations/</guid><description>Pop the max k times, halving it each pop — max-heap with simulated operations.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Medium</category><category>Top K Elements</category><category>top-k</category><category>heaps</category><category>greedy</category></item><item><title>Maximal Square</title><link>http://localhost:4321/dsa/maximal-square/</link><guid isPermaLink="true">http://localhost:4321/dsa/maximal-square/</guid><description>Largest all-1 square in a binary matrix — DP where dp[r][c] = 1 + min(left, top, top-left).</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Medium</category><category>Dynamic Programming</category><category>dp</category><category>grid</category></item><item><title>Maximum Area Rectangle With Point Constraints I</title><link>http://localhost:4321/dsa/maximum-area-rectangle-with-point-constraints-i/</link><guid isPermaLink="true">http://localhost:4321/dsa/maximum-area-rectangle-with-point-constraints-i/</guid><description>Find the largest axis-aligned rectangle whose four corners are in the point set and whose interior + boundary contain no other points.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Medium</category><category>Math &amp; Geometry</category><category>geometry</category><category>hash-set</category><category>math</category></item><item><title>Maximum Average Pass Ratio</title><link>http://localhost:4321/dsa/maximum-average-pass-ratio/</link><guid isPermaLink="true">http://localhost:4321/dsa/maximum-average-pass-ratio/</guid><description>Distribute extra students to maximize average class pass ratio — max-heap keyed by marginal improvement.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Medium</category><category>Heaps</category><category>heaps</category><category>greedy</category></item><item><title>Maximum Average Subarray I</title><link>http://localhost:4321/dsa/maximum-average-subarray-i/</link><guid isPermaLink="true">http://localhost:4321/dsa/maximum-average-subarray-i/</guid><description>Maximum average of any length-k subarray — fixed-size sliding window over a running sum.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Easy</category><category>Sliding Window</category><category>sliding-window</category><category>array</category></item><item><title>Maximum Depth of Binary Tree</title><link>http://localhost:4321/dsa/maximum-depth-of-binary-tree/</link><guid isPermaLink="true">http://localhost:4321/dsa/maximum-depth-of-binary-tree/</guid><description>Depth is 1 + max(left depth, right depth); the empty tree has depth 0.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Easy</category><category>Tree DFS</category><category>tree</category><category>dfs</category></item><item><title>Maximum Number of Integers to Choose from a Range I</title><link>http://localhost:4321/dsa/maximum-number-of-integers-to-choose-from-a-range-i/</link><guid isPermaLink="true">http://localhost:4321/dsa/maximum-number-of-integers-to-choose-from-a-range-i/</guid><description>Greedily pick the smallest unbanned numbers from 1..n until you exceed maxSum.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Medium</category><category>Sort and Search</category><category>greedy</category><category>hashing</category></item><item><title>Maximum Frequency Stack</title><link>http://localhost:4321/dsa/maximum-frequency-stack/</link><guid isPermaLink="true">http://localhost:4321/dsa/maximum-frequency-stack/</guid><description>Stack returning the most frequent element on pop, ties to the most recent — bucket stacks by frequency.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Hard</category><category>Tracking Patterns</category><category>hash-map</category><category>stack</category><category>design</category></item><item><title>Maximum Number of Visible Points</title><link>http://localhost:4321/dsa/maximum-number-of-visible-points/</link><guid isPermaLink="true">http://localhost:4321/dsa/maximum-number-of-visible-points/</guid><description>Compute angles relative to viewer, sort, sliding-window an arc of size `angle` — handle wraparound by doubling the array.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Hard</category><category>Math &amp; Geometry</category><category>geometry</category><category>sliding-window</category><category>math</category><category>sorting</category></item><item><title>Maximum Product After K Increments</title><link>http://localhost:4321/dsa/maximum-product-after-k-increments/</link><guid isPermaLink="true">http://localhost:4321/dsa/maximum-product-after-k-increments/</guid><description>With k +1 operations, maximize the product — always increment the current smallest via a min-heap.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Medium</category><category>Top K Elements</category><category>top-k</category><category>heaps</category><category>greedy</category></item><item><title>Maximum Performance of a Team</title><link>http://localhost:4321/dsa/maximum-performance-of-a-team/</link><guid isPermaLink="true">http://localhost:4321/dsa/maximum-performance-of-a-team/</guid><description>Performance = sum(speed) * min(efficiency); sort by efficiency desc, keep top-k speeds.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Hard</category><category>Top K Elements</category><category>top-k</category><category>heaps</category><category>sorting</category></item><item><title>Maximum Product Subarray</title><link>http://localhost:4321/dsa/maximum-product-subarray/</link><guid isPermaLink="true">http://localhost:4321/dsa/maximum-product-subarray/</guid><description>Max product of any contiguous subarray — track current max AND current min (negatives flip).</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Medium</category><category>Dynamic Programming</category><category>dp</category><category>array</category></item><item><title>Maximum Profit in Job Scheduling</title><link>http://localhost:4321/dsa/maximum-profit-in-job-scheduling/</link><guid isPermaLink="true">http://localhost:4321/dsa/maximum-profit-in-job-scheduling/</guid><description>Sort jobs by end; dp[i] = max(skip dp[i-1], take profit + dp[predecessor end ≤ start]); binary-search the predecessor.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Hard</category><category>Review Challenges</category><category>dp</category><category>binary-search</category><category>sorting</category><category>intervals</category></item><item><title>Maximum Running Time of N Computers</title><link>http://localhost:4321/dsa/maximum-running-time-of-n-computers/</link><guid isPermaLink="true">http://localhost:4321/dsa/maximum-running-time-of-n-computers/</guid><description>With k batteries (any one can power any computer, swappable instantly), maximize minutes all n computers can run — binary search on answer.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Hard</category><category>Modified Binary Search</category><category>binary-search</category></item><item><title>Maximum Subarray</title><link>http://localhost:4321/dsa/maximum-subarray/</link><guid isPermaLink="true">http://localhost:4321/dsa/maximum-subarray/</guid><description>Kadane&apos;s — running sum reset to current value whenever it goes negative; track running max.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Medium</category><category>Review Challenges</category><category>dp</category><category>kadane</category><category>array</category></item><item><title>Maximum Swap</title><link>http://localhost:4321/dsa/maximum-swap/</link><guid isPermaLink="true">http://localhost:4321/dsa/maximum-swap/</guid><description>Swap at most two digits once to make a number as large as possible — last-occurrence lookup.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Medium</category><category>Greedy Techniques</category><category>greedy</category><category>string</category></item><item><title>Maximum Value at a Given Index in a Bounded Array</title><link>http://localhost:4321/dsa/maximum-value-at-a-given-index-in-a-bounded-array/</link><guid isPermaLink="true">http://localhost:4321/dsa/maximum-value-at-a-given-index-in-a-bounded-array/</guid><description>Build a length-n positive-integer array with adjacent diff ≤ 1, total sum ≤ maxSum — binary search the peak.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Medium</category><category>Modified Binary Search</category><category>binary-search</category><category>math</category></item><item><title>Maximum Twin Sum of a Linked List</title><link>http://localhost:4321/dsa/maximum-twin-sum-of-a-linked-list/</link><guid isPermaLink="true">http://localhost:4321/dsa/maximum-twin-sum-of-a-linked-list/</guid><description>Pair the i-th node with the (n-1-i)-th node; return the max twin sum using the middle-reverse trick.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Medium</category><category>Fast and Slow Pointers</category><category>fast-slow</category><category>linked-list</category></item><item><title>Median of Two Sorted Arrays</title><link>http://localhost:4321/dsa/median-of-two-sorted-arrays/</link><guid isPermaLink="true">http://localhost:4321/dsa/median-of-two-sorted-arrays/</guid><description>Binary search on the partition of the smaller array — find a split with equal-sized halves and left ≤ right on both sides.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Hard</category><category>Review Challenges</category><category>binary-search</category><category>divide-and-conquer</category></item><item><title>Maximum Width Ramp</title><link>http://localhost:4321/dsa/maximum-width-ramp/</link><guid isPermaLink="true">http://localhost:4321/dsa/maximum-width-ramp/</guid><description>Build a decreasing-index stack on left pass; right-to-left, pop while top is less-equal current and record gap.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Medium</category><category>Stacks</category><category>monotonic-stack</category><category>two-pointers</category></item><item><title>Meeting Rooms II</title><link>http://localhost:4321/dsa/meeting-rooms-ii/</link><guid isPermaLink="true">http://localhost:4321/dsa/meeting-rooms-ii/</guid><description>Minimum rooms required for all meetings — sweep starts and ends with a heap (or sorted-arrays merge).</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Medium</category><category>Intervals</category><category>intervals</category><category>heap</category></item><item><title>Meeting Rooms</title><link>http://localhost:4321/dsa/meeting-rooms/</link><guid isPermaLink="true">http://localhost:4321/dsa/meeting-rooms/</guid><description>Sort by start — if any meeting begins before the previous one ends, the schedule conflicts.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Easy</category><category>Review Challenges</category><category>intervals</category><category>sorting</category></item><item><title>Meeting Rooms III</title><link>http://localhost:4321/dsa/meeting-rooms-iii/</link><guid isPermaLink="true">http://localhost:4321/dsa/meeting-rooms-iii/</guid><description>With fixed n rooms, schedule meetings preferring the lowest-numbered free room — return the busiest room.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Hard</category><category>Heaps</category><category>heaps</category></item><item><title>Merge Intervals</title><link>http://localhost:4321/dsa/merge-intervals/</link><guid isPermaLink="true">http://localhost:4321/dsa/merge-intervals/</guid><description>Merge overlapping intervals — sort by start, then sweep linearly.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Medium</category><category>Intervals</category><category>intervals</category><category>sorting</category></item><item><title>Merge K Sorted Lists</title><link>http://localhost:4321/dsa/merge-k-sorted-lists/</link><guid isPermaLink="true">http://localhost:4321/dsa/merge-k-sorted-lists/</guid><description>Merge k sorted linked lists using a min-heap of current heads.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Hard</category><category>K-way Merge</category><category>k-way-merge</category><category>heaps</category><category>linked-list</category></item><item><title>Merge Sorted Array</title><link>http://localhost:4321/dsa/merge-sorted-array/</link><guid isPermaLink="true">http://localhost:4321/dsa/merge-sorted-array/</guid><description>Merge nums2 into nums1 in place, filling from the back to avoid overwrites.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Easy</category><category>K-way Merge</category><category>k-way-merge</category><category>two-pointers</category></item><item><title>Merge Two Sorted Lists</title><link>http://localhost:4321/dsa/merge-two-sorted-lists/</link><guid isPermaLink="true">http://localhost:4321/dsa/merge-two-sorted-lists/</guid><description>Dummy-head merge — splice the smaller head into the tail at each step.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Easy</category><category>Review Challenges</category><category>linked-list</category><category>recursion</category></item><item><title>Middle of the Linked List</title><link>http://localhost:4321/dsa/middle-of-the-linked-list/</link><guid isPermaLink="true">http://localhost:4321/dsa/middle-of-the-linked-list/</guid><description>Find the middle node in one pass using the speed-1 / speed-2 pointer pair.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Easy</category><category>Fast and Slow Pointers</category><category>fast-slow</category><category>linked-list</category></item><item><title>Min Cost Climbing Stairs</title><link>http://localhost:4321/dsa/min-cost-climbing-stairs/</link><guid isPermaLink="true">http://localhost:4321/dsa/min-cost-climbing-stairs/</guid><description>Min cost to reach the top (past the last step) using 1- or 2-step moves from positions 0 or 1.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Easy</category><category>Dynamic Programming</category><category>dp</category></item><item><title>Minimize Manhattan Distances</title><link>http://localhost:4321/dsa/minimize-manhattan-distances/</link><guid isPermaLink="true">http://localhost:4321/dsa/minimize-manhattan-distances/</guid><description>Convert (x,y) to rotated (x+y, x-y) so Manhattan becomes Chebyshev — track top-2 extremes to handle &quot;remove one point&quot;.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Hard</category><category>Math &amp; Geometry</category><category>geometry</category><category>math</category><category>ordered-set</category></item><item><title>Minimize Malware Spread</title><link>http://localhost:4321/dsa/minimize-malware-spread/</link><guid isPermaLink="true">http://localhost:4321/dsa/minimize-malware-spread/</guid><description>Remove one initially infected node to minimize total infections — DSU on the network.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Hard</category><category>Union Find</category><category>union-find</category><category>graph</category></item><item><title>Min Stack</title><link>http://localhost:4321/dsa/min-stack/</link><guid isPermaLink="true">http://localhost:4321/dsa/min-stack/</guid><description>Stack with O(1) getMin — each entry carries the min of itself and everything below.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Medium</category><category>Custom Data Structs</category><category>design</category><category>stack</category></item><item><title>Minimize Maximum Value in a Grid</title><link>http://localhost:4321/dsa/minimize-maximum-value-in-a-grid/</link><guid isPermaLink="true">http://localhost:4321/dsa/minimize-maximum-value-in-a-grid/</guid><description>Sort all cells by value, then assign each its rank under &quot;max(row max so far, col max so far) + 1&quot;.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Hard</category><category>Matrices</category><category>sorting</category><category>greedy</category><category>matrix</category></item><item><title>Minimize Max Distance to Gas Station</title><link>http://localhost:4321/dsa/minimize-max-distance-to-gas-station/</link><guid isPermaLink="true">http://localhost:4321/dsa/minimize-max-distance-to-gas-station/</guid><description>Add k gas stations on a number line to minimize the maximum gap — binary search on the answer with a greedy feasibility check.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Hard</category><category>Modified Binary Search</category><category>binary-search</category></item><item><title>Minimum Cost to Hire K Workers</title><link>http://localhost:4321/dsa/minimum-cost-to-hire-k-workers/</link><guid isPermaLink="true">http://localhost:4321/dsa/minimum-cost-to-hire-k-workers/</guid><description>Sort by ratio, then maintain a max-heap of qualities — pay the minimum possible at each ratio threshold.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Hard</category><category>Top K Elements</category><category>top-k</category><category>heaps</category><category>sorting</category></item><item><title>Minimum Area Rectangle</title><link>http://localhost:4321/dsa/minimum-area-rectangle/</link><guid isPermaLink="true">http://localhost:4321/dsa/minimum-area-rectangle/</guid><description>Axis-aligned rectangles — group points by x, for every pair of x-columns find shared y-pairs and compute area.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Medium</category><category>Math &amp; Geometry</category><category>geometry</category><category>hash-set</category><category>math</category></item><item><title>Minimum Cost to Connect Sticks</title><link>http://localhost:4321/dsa/minimum-cost-to-connect-sticks/</link><guid isPermaLink="true">http://localhost:4321/dsa/minimum-cost-to-connect-sticks/</guid><description>Huffman-style merge — always combine the two shortest sticks via a min-heap.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Medium</category><category>Heaps</category><category>heaps</category><category>greedy</category></item><item><title>Minimum Cost to Make at Least One Valid Path in a Grid</title><link>http://localhost:4321/dsa/minimum-cost-to-make-at-least-one-valid-path-in-a-grid/</link><guid isPermaLink="true">http://localhost:4321/dsa/minimum-cost-to-make-at-least-one-valid-path-in-a-grid/</guid><description>0-1 BFS — following the arrow costs 0, changing direction costs 1.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Hard</category><category>Graphs</category><category>bfs</category><category>dijkstra</category><category>grid</category><category>0-1-bfs</category></item><item><title>Minimum Cuts to Divide a Circle</title><link>http://localhost:4321/dsa/minimum-cuts-to-divide-a-circle/</link><guid isPermaLink="true">http://localhost:4321/dsa/minimum-cuts-to-divide-a-circle/</guid><description>Closed-form — 0 for n=1, 1 for odd n, n/2 for even n (diameter cuts).</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Easy</category><category>Math &amp; Geometry</category><category>math</category><category>geometry</category></item><item><title>Minimum Flips to Make the Binary String Alternate</title><link>http://localhost:4321/dsa/minimum-flips-to-make-the-binary-string-alternate/</link><guid isPermaLink="true">http://localhost:4321/dsa/minimum-flips-to-make-the-binary-string-alternate/</guid><description>Doubled string sliding window — for each length-n window, count mismatches against &quot;0101...&quot; and &quot;1010...&quot; patterns.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Medium</category><category>Review Challenges</category><category>string</category><category>sliding-window</category></item><item><title>Minimum Height Trees</title><link>http://localhost:4321/dsa/minimum-height-trees/</link><guid isPermaLink="true">http://localhost:4321/dsa/minimum-height-trees/</guid><description>BFS from all leaves inward, peeling layers; the last 1 or 2 nodes form the centroid set.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Medium</category><category>Review Challenges</category><category>graph</category><category>bfs</category><category>topology</category><category>tree</category></item><item><title>Minimum Interval to Include Each Query</title><link>http://localhost:4321/dsa/minimum-interval-to-include-each-query/</link><guid isPermaLink="true">http://localhost:4321/dsa/minimum-interval-to-include-each-query/</guid><description>For each query, return the length of the shortest interval containing it — offline sweep with a min-heap.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Hard</category><category>Intervals</category><category>intervals</category><category>heap</category><category>offline</category></item><item><title>Minimum Moves to Spread Stones Over Grid</title><link>http://localhost:4321/dsa/minimum-moves-to-spread-stones-over-grid/</link><guid isPermaLink="true">http://localhost:4321/dsa/minimum-moves-to-spread-stones-over-grid/</guid><description>3×3 grid with 9 stones across cells (some empty, some doubled) — backtrack to match donors and receivers by min Manhattan distance.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Medium</category><category>Backtracking</category><category>backtracking</category></item><item><title>Minimum Number of K Consecutive Bit Flips</title><link>http://localhost:4321/dsa/minimum-number-of-k-consecutive-bit-flips/</link><guid isPermaLink="true">http://localhost:4321/dsa/minimum-number-of-k-consecutive-bit-flips/</guid><description>Greedy left-to-right — flip a length-k window whenever the current bit is 0, track active flips via a deferred-update marker.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Hard</category><category>Bitwise Operations</category><category>bit-manipulation</category><category>greedy</category><category>sliding-window</category></item><item><title>Minimum Number of Lines to Cover Points</title><link>http://localhost:4321/dsa/minimum-number-of-lines-to-cover-points/</link><guid isPermaLink="true">http://localhost:4321/dsa/minimum-number-of-lines-to-cover-points/</guid><description>Bitmask DP — for each subset, try every line through two uncovered points; minimize lines.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Medium</category><category>Math &amp; Geometry</category><category>geometry</category><category>bitmask-dp</category><category>math</category></item><item><title>Minimum Number of Moves to Make Palindrome</title><link>http://localhost:4321/dsa/minimum-number-of-moves-to-make-palindrome/</link><guid isPermaLink="true">http://localhost:4321/dsa/minimum-number-of-moves-to-make-palindrome/</guid><description>Greedy two-pointer count of adjacent swaps needed to make a string a palindrome.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Hard</category><category>Two Pointers</category><category>two-pointers</category><category>string</category><category>greedy</category></item><item><title>Minimum Number of Refueling Stops</title><link>http://localhost:4321/dsa/minimum-number-of-refueling-stops/</link><guid isPermaLink="true">http://localhost:4321/dsa/minimum-number-of-refueling-stops/</guid><description>Minimum stops to reach the target — when you &quot;run out&quot;, retroactively take the largest skipped tank from a max-heap.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Hard</category><category>Greedy Techniques</category><category>greedy</category><category>heaps</category></item><item><title>Minimum Number of Pushes to Type Word II</title><link>http://localhost:4321/dsa/minimum-number-of-pushes-to-type-word-ii/</link><guid isPermaLink="true">http://localhost:4321/dsa/minimum-number-of-pushes-to-type-word-ii/</guid><description>Map letters to phone keys greedily — most frequent letters get position 1.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Medium</category><category>Tracking Patterns</category><category>hash-map</category><category>greedy</category><category>sorting</category></item><item><title>Minimum One Bit Operations to Make Integers Zero</title><link>http://localhost:4321/dsa/minimum-one-bit-operations-to-make-integers-zero/</link><guid isPermaLink="true">http://localhost:4321/dsa/minimum-one-bit-operations-to-make-integers-zero/</guid><description>Gray-code position equals the answer — XOR-fold all bits with cumulative XOR scan from the top.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Hard</category><category>Bitwise Operations</category><category>bit-manipulation</category><category>gray-code</category></item><item><title>Minimum Operations to Make All Array Elements Equal</title><link>http://localhost:4321/dsa/minimum-operations-to-make-all-array-elements-equal/</link><guid isPermaLink="true">http://localhost:4321/dsa/minimum-operations-to-make-all-array-elements-equal/</guid><description>For each query, sort once and use prefix sums plus binary search to compute the total deviation.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Medium</category><category>Sort and Search</category><category>prefix-sum</category><category>binary-search</category><category>sorting</category></item><item><title>Minimum Remove to Make Valid Parentheses</title><link>http://localhost:4321/dsa/minimum-remove-to-make-valid-parentheses/</link><guid isPermaLink="true">http://localhost:4321/dsa/minimum-remove-to-make-valid-parentheses/</guid><description>Stack indices of unmatched openers; on close-without-opener, mark the closer for removal — then strip.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Medium</category><category>Stacks</category><category>stack</category><category>string</category></item><item><title>Minimum Path Sum</title><link>http://localhost:4321/dsa/minimum-path-sum/</link><guid isPermaLink="true">http://localhost:4321/dsa/minimum-path-sum/</guid><description>Minimum sum from top-left to bottom-right moving right/down — 1D rolling DP.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Medium</category><category>Dynamic Programming</category><category>dp</category><category>grid</category></item><item><title>Minimum Replacements to Sort the Array</title><link>http://localhost:4321/dsa/minimum-replacements-to-sort-the-array/</link><guid isPermaLink="true">http://localhost:4321/dsa/minimum-replacements-to-sort-the-array/</guid><description>Replace each oversized element with k equal parts ≤ next; walk right-to-left tracking the running ceiling.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Hard</category><category>Greedy Techniques</category><category>greedy</category><category>math</category></item><item><title>Minimum Space Wasted from Packaging</title><link>http://localhost:4321/dsa/minimum-space-wasted-from-packaging/</link><guid isPermaLink="true">http://localhost:4321/dsa/minimum-space-wasted-from-packaging/</guid><description>For each supplier, sort boxes, then per-package binary search for the smallest fitting box and accumulate waste.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Hard</category><category>Sort and Search</category><category>sorting</category><category>binary-search</category><category>prefix-sum</category></item><item><title>Minimum String Length After Removing Substrings</title><link>http://localhost:4321/dsa/minimum-string-length-after-removing-substrings/</link><guid isPermaLink="true">http://localhost:4321/dsa/minimum-string-length-after-removing-substrings/</guid><description>Push characters; when the top with the current forms &quot;AB&quot; or &quot;CD&quot;, pop instead — return final length.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Easy</category><category>Stacks</category><category>stack</category><category>string</category></item><item><title>Minimum Size Subarray Sum</title><link>http://localhost:4321/dsa/minimum-size-subarray-sum/</link><guid isPermaLink="true">http://localhost:4321/dsa/minimum-size-subarray-sum/</guid><description>Shortest contiguous subarray with sum ≥ target via expanding/contracting window over positive integers.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Medium</category><category>Sliding Window</category><category>sliding-window</category><category>array</category></item><item><title>Minimum Time Takes to Reach Destination Without Drowning</title><link>http://localhost:4321/dsa/minimum-time-takes-to-reach-destination-without-drowning/</link><guid isPermaLink="true">http://localhost:4321/dsa/minimum-time-takes-to-reach-destination-without-drowning/</guid><description>BFS with a time-dependent flood wavefront preventing entry into recently flooded cells.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Hard</category><category>Matrices</category><category>bfs</category><category>multi-source-bfs</category><category>grid</category></item><item><title>Minimum Time Visiting All Points</title><link>http://localhost:4321/dsa/minimum-time-visiting-all-points/</link><guid isPermaLink="true">http://localhost:4321/dsa/minimum-time-visiting-all-points/</guid><description>Each pair-to-pair time is Chebyshev distance — max of |dx|, |dy|. Sum across the route.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Easy</category><category>Math &amp; Geometry</category><category>geometry</category><category>math</category></item><item><title>Minimum Window Substring</title><link>http://localhost:4321/dsa/minimum-window-substring/</link><guid isPermaLink="true">http://localhost:4321/dsa/minimum-window-substring/</guid><description>Smallest substring of s covering every character of t — variable-size sliding window with a &apos;missing&apos; counter.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Hard</category><category>Sliding Window</category><category>sliding-window</category><category>string</category><category>hash-map</category></item><item><title>Minimum Window Subsequence</title><link>http://localhost:4321/dsa/minimum-window-subsequence/</link><guid isPermaLink="true">http://localhost:4321/dsa/minimum-window-subsequence/</guid><description>Smallest substring of S containing T as a subsequence (not contiguously) — two-pointer back-and-forth scan.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Hard</category><category>Sliding Window</category><category>sliding-window</category><category>string</category><category>two-pointers</category></item><item><title>Missing Number</title><link>http://localhost:4321/dsa/missing-number/</link><guid isPermaLink="true">http://localhost:4321/dsa/missing-number/</guid><description>Find the missing number in [0, n] — XOR sum trick or arithmetic sum.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Easy</category><category>Cyclic Sort</category><category>cyclic-sort</category><category>bit-manipulation</category><category>math</category></item><item><title>Moving Average from Data Stream</title><link>http://localhost:4321/dsa/moving-average-from-data-stream/</link><guid isPermaLink="true">http://localhost:4321/dsa/moving-average-from-data-stream/</guid><description>Sliding window average — fixed-size deque holding the last k values, maintain a running sum.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Easy</category><category>Custom Data Structs</category><category>design</category><category>sliding-window</category><category>queue</category></item><item><title>Multiply Strings</title><link>http://localhost:4321/dsa/multiply-strings/</link><guid isPermaLink="true">http://localhost:4321/dsa/multiply-strings/</guid><description>Schoolbook product into an int array — position i*j contributes to slots i+j and i+j+1; final carry-resolution sweep.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Medium</category><category>Review Challenges</category><category>math</category><category>string</category></item><item><title>Most Stones Removed with Same Row or Column</title><link>http://localhost:4321/dsa/most-stones-removed-with-same-row-or-column/</link><guid isPermaLink="true">http://localhost:4321/dsa/most-stones-removed-with-same-row-or-column/</guid><description>Max stones removable while keeping each connected component non-empty — DSU on row/column unions.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Medium</category><category>Union Find</category><category>union-find</category><category>graph</category></item><item><title>N-Queens II</title><link>http://localhost:4321/dsa/n-queens-ii/</link><guid isPermaLink="true">http://localhost:4321/dsa/n-queens-ii/</guid><description>Count the n-queens solutions using bitmask backtracking over columns, diagonals, and anti-diagonals.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Hard</category><category>Backtracking</category><category>backtracking</category><category>bitmask</category></item><item><title>N-Queens</title><link>http://localhost:4321/dsa/n-queens/</link><guid isPermaLink="true">http://localhost:4321/dsa/n-queens/</guid><description>Return all distinct n-queens placements as board strings — bitmask backtracking with board reconstruction.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Hard</category><category>Backtracking</category><category>backtracking</category><category>bitmask</category></item><item><title>N-th Tribonacci Number</title><link>http://localhost:4321/dsa/n-th-tribonacci-number/</link><guid isPermaLink="true">http://localhost:4321/dsa/n-th-tribonacci-number/</guid><description>T(n) = T(n-1) + T(n-2) + T(n-3); rolling 3 scalars.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Easy</category><category>Dynamic Programming</category><category>dp</category><category>fibonacci</category></item><item><title>N-Repeated Element in Size 2N Array</title><link>http://localhost:4321/dsa/n-repeated-element-in-size-2n-array/</link><guid isPermaLink="true">http://localhost:4321/dsa/n-repeated-element-in-size-2n-array/</guid><description>Find the value that appears N times in a 2N array — hash set or adjacent-pair scan.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Easy</category><category>Hash Maps</category><category>hash-set</category><category>arrays</category></item><item><title>Network Delay Time</title><link>http://localhost:4321/dsa/network-delay-time/</link><guid isPermaLink="true">http://localhost:4321/dsa/network-delay-time/</guid><description>Dijkstra from k; the answer is the maximum shortest-path distance (or -1 if any node is unreachable).</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Medium</category><category>Graphs</category><category>graph</category><category>dijkstra</category><category>shortest-path</category></item><item><title>Nested List Weight Sum II</title><link>http://localhost:4321/dsa/nested-list-weight-sum-ii/</link><guid isPermaLink="true">http://localhost:4321/dsa/nested-list-weight-sum-ii/</guid><description>Find max depth, then weight each integer by (maxDepth - itsDepth + 1).</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Medium</category><category>Tree DFS</category><category>tree</category><category>dfs</category><category>nested-list</category></item><item><title>Next Greater Element IV</title><link>http://localhost:4321/dsa/next-greater-element-iv/</link><guid isPermaLink="true">http://localhost:4321/dsa/next-greater-element-iv/</guid><description>Two monotonic stacks — first finds the next greater; the second collects those popped to find the second.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Hard</category><category>Stacks</category><category>monotonic-stack</category></item><item><title>Next Palindrome Using Same Digits</title><link>http://localhost:4321/dsa/next-palindrome-using-same-digits/</link><guid isPermaLink="true">http://localhost:4321/dsa/next-palindrome-using-same-digits/</guid><description>Find the next-greater palindrome using the same digit multiset as the input.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Hard</category><category>Two Pointers</category><category>two-pointers</category><category>string</category><category>permutation</category></item><item><title>Next Greater Element I</title><link>http://localhost:4321/dsa/next-greater-element-i/</link><guid isPermaLink="true">http://localhost:4321/dsa/next-greater-element-i/</guid><description>For each element in nums1, find its next greater element in nums2 using a monotonic stack.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Easy</category><category>Hash Maps</category><category>hash-map</category><category>monotonic-stack</category></item><item><title>Next Permutation</title><link>http://localhost:4321/dsa/next-permutation/</link><guid isPermaLink="true">http://localhost:4321/dsa/next-permutation/</guid><description>Rearrange to the lexicographically next greater permutation; wrap to lowest if impossible.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Medium</category><category>Two Pointers</category><category>two-pointers</category><category>array</category><category>permutation</category></item><item><title>Nim Game</title><link>http://localhost:4321/dsa/nim-game/</link><guid isPermaLink="true">http://localhost:4321/dsa/nim-game/</guid><description>You lose iff n is a multiple of 4 — both players play optimally with 1, 2, or 3 stones per turn.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Easy</category><category>Math &amp; Geometry</category><category>math</category><category>game-theory</category></item><item><title>Non-overlapping Intervals</title><link>http://localhost:4321/dsa/non-overlapping-intervals/</link><guid isPermaLink="true">http://localhost:4321/dsa/non-overlapping-intervals/</guid><description>Greedy by earliest end — remove any interval that starts before the last kept end.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Medium</category><category>Review Challenges</category><category>intervals</category><category>greedy</category><category>sorting</category></item><item><title>Number of 1 Bits</title><link>http://localhost:4321/dsa/number-of-1-bits/</link><guid isPermaLink="true">http://localhost:4321/dsa/number-of-1-bits/</guid><description>Brian Kernighan&apos;s loop — `n &amp;= n - 1` clears the lowest set bit each iteration.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Easy</category><category>Review Challenges</category><category>bit-manipulation</category></item><item><title>Nth Magical Number</title><link>http://localhost:4321/dsa/nth-magical-number/</link><guid isPermaLink="true">http://localhost:4321/dsa/nth-magical-number/</guid><description>Binary search on the answer — count magical numbers ≤ x as `x/a + x/b - x/lcm(a,b)`.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Hard</category><category>Math &amp; Geometry</category><category>math</category><category>binary-search</category><category>lcm</category><category>modular-arithmetic</category></item><item><title>Number of Connected Components in an Undirected Graph</title><link>http://localhost:4321/dsa/number-of-connected-components-in-an-undirected-graph/</link><guid isPermaLink="true">http://localhost:4321/dsa/number-of-connected-components-in-an-undirected-graph/</guid><description>Union-find each edge; count distinct roots.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Medium</category><category>Review Challenges</category><category>union-find</category><category>graph</category></item><item><title>Number of Distinct Islands</title><link>http://localhost:4321/dsa/number-of-distinct-islands/</link><guid isPermaLink="true">http://localhost:4321/dsa/number-of-distinct-islands/</guid><description>Count distinct island shapes by canonicalizing each via DFS path signature.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Medium</category><category>Hash Maps</category><category>hash-map</category><category>dfs</category><category>grid</category></item><item><title>Number of Flowers in Full Bloom</title><link>http://localhost:4321/dsa/number-of-flowers-in-full-bloom/</link><guid isPermaLink="true">http://localhost:4321/dsa/number-of-flowers-in-full-bloom/</guid><description>For each query time, count blooming flowers using two sorted endpoint arrays and binary search.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Hard</category><category>Modified Binary Search</category><category>binary-search</category><category>sorting</category></item><item><title>Number of Islands II</title><link>http://localhost:4321/dsa/number-of-islands-ii/</link><guid isPermaLink="true">http://localhost:4321/dsa/number-of-islands-ii/</guid><description>Stream of land additions on a grid — report island count after each.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Hard</category><category>Union Find</category><category>union-find</category><category>grid</category><category>streaming</category></item><item><title>Number of Provinces</title><link>http://localhost:4321/dsa/number-of-provinces/</link><guid isPermaLink="true">http://localhost:4321/dsa/number-of-provinces/</guid><description>Union-find over the friendship matrix — count distinct roots.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Medium</category><category>Review Challenges</category><category>union-find</category><category>graph</category><category>matrix</category></item><item><title>Number of Islands</title><link>http://localhost:4321/dsa/number-of-islands/</link><guid isPermaLink="true">http://localhost:4321/dsa/number-of-islands/</guid><description>Count 4-connected components of 1s in a binary grid — DFS or Union-Find.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Medium</category><category>Union Find</category><category>union-find</category><category>dfs</category><category>grid</category></item><item><title>Number of Longest Increasing Subsequence</title><link>http://localhost:4321/dsa/number-of-longest-increasing-subsequence/</link><guid isPermaLink="true">http://localhost:4321/dsa/number-of-longest-increasing-subsequence/</guid><description>Count distinct longest increasing subsequences — DP carrying (length, count) per index.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Medium</category><category>Dynamic Programming</category><category>dp</category></item><item><title>Number of Steps to Reduce a Binary Number to One</title><link>http://localhost:4321/dsa/number-of-steps-to-reduce-a-binary-number-to-one/</link><guid isPermaLink="true">http://localhost:4321/dsa/number-of-steps-to-reduce-a-binary-number-to-one/</guid><description>Process the binary string from LSB; each set bit triggers an add (carry chain) that may cascade — simulate with a carry flag.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Medium</category><category>Greedy Techniques</category><category>greedy</category><category>string</category><category>bit-manipulation</category></item><item><title>Number of Substrings Containing All Three Characters</title><link>http://localhost:4321/dsa/number-of-substrings-containing-all-three-characters/</link><guid isPermaLink="true">http://localhost:4321/dsa/number-of-substrings-containing-all-three-characters/</guid><description>Count substrings containing at least one a, b, and c — sliding window with `ans += left` trick.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Medium</category><category>Sliding Window</category><category>sliding-window</category><category>string</category></item><item><title>Number of Spaces Cleaning Robot Cleaned</title><link>http://localhost:4321/dsa/number-of-spaces-cleaning-robot-cleaned/</link><guid isPermaLink="true">http://localhost:4321/dsa/number-of-spaces-cleaning-robot-cleaned/</guid><description>Simulate a robot that turns right on obstacles, halting once it revisits a state already visited in the same direction.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Medium</category><category>Matrices</category><category>matrix</category><category>simulation</category><category>hashing</category></item><item><title>Number of Visible People in a Queue</title><link>http://localhost:4321/dsa/number-of-visible-people-in-a-queue/</link><guid isPermaLink="true">http://localhost:4321/dsa/number-of-visible-people-in-a-queue/</guid><description>Right-to-left monotonic decreasing stack — each pop counts a visible person.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Hard</category><category>Stacks</category><category>monotonic-stack</category></item><item><title>Number of Valid Subarrays</title><link>http://localhost:4321/dsa/number-of-valid-subarrays/</link><guid isPermaLink="true">http://localhost:4321/dsa/number-of-valid-subarrays/</guid><description>For each index, count subarrays ending at it where nums[i] is the leftmost minimum — monotonic stack.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Hard</category><category>Stacks</category><category>monotonic-stack</category></item><item><title>Number of Ways to Form a Target String Given a Dictionary</title><link>http://localhost:4321/dsa/number-of-ways-to-form-a-target-string-given-a-dictionary/</link><guid isPermaLink="true">http://localhost:4321/dsa/number-of-ways-to-form-a-target-string-given-a-dictionary/</guid><description>Count ways to form target by picking one char from each column-position of `words` — 2D DP.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Hard</category><category>Dynamic Programming</category><category>dp</category></item><item><title>Number of Wonderful Substrings</title><link>http://localhost:4321/dsa/number-of-wonderful-substrings/</link><guid isPermaLink="true">http://localhost:4321/dsa/number-of-wonderful-substrings/</guid><description>Count substrings where at most one letter has an odd count — prefix bitmask + hash map.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Medium</category><category>Hash Maps</category><category>hash-map</category><category>bitmask</category><category>prefix-sum</category></item><item><title>Odd Even Linked List</title><link>http://localhost:4321/dsa/odd-even-linked-list/</link><guid isPermaLink="true">http://localhost:4321/dsa/odd-even-linked-list/</guid><description>Reorder a list so odd-indexed nodes come first, then even-indexed, preserving relative order — two interleaved chains.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Medium</category><category>In-Place Linked List</category><category>linked-list</category></item><item><title>Open the Lock</title><link>http://localhost:4321/dsa/open-the-lock/</link><guid isPermaLink="true">http://localhost:4321/dsa/open-the-lock/</guid><description>Shortest dial sequence to reach a 4-digit target avoiding deadends — BFS over 10000 states.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Medium</category><category>Tree BFS</category><category>bfs</category><category>graph</category></item><item><title>Pacific Atlantic Water Flow</title><link>http://localhost:4321/dsa/pacific-atlantic-water-flow/</link><guid isPermaLink="true">http://localhost:4321/dsa/pacific-atlantic-water-flow/</guid><description>BFS/DFS from each ocean&apos;s edge cells upward — intersection of reachable sets is the answer.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Medium</category><category>Review Challenges</category><category>bfs</category><category>dfs</category><category>matrix</category><category>graph</category></item><item><title>Optimal Account Balancing</title><link>http://localhost:4321/dsa/optimal-account-balancing/</link><guid isPermaLink="true">http://localhost:4321/dsa/optimal-account-balancing/</guid><description>Minimum transactions to clear all debts — DFS over net balances trying offsetting pairs.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Hard</category><category>Backtracking</category><category>backtracking</category></item><item><title>Pairs of Songs With Total Durations Divisible by 60</title><link>http://localhost:4321/dsa/pairs-of-songs-with-total-durations-divisible-by-60/</link><guid isPermaLink="true">http://localhost:4321/dsa/pairs-of-songs-with-total-durations-divisible-by-60/</guid><description>Count pairs `(i, j)` with `(t[i] + t[j]) % 60 == 0` — residue bucketing.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Medium</category><category>Tracking Patterns</category><category>hash-map</category><category>counting</category><category>modular</category></item><item><title>Optimize Water Distribution in a Village</title><link>http://localhost:4321/dsa/optimize-water-distribution-in-a-village/</link><guid isPermaLink="true">http://localhost:4321/dsa/optimize-water-distribution-in-a-village/</guid><description>Min cost to supply water to all houses — MST with a virtual well source.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Hard</category><category>Union Find</category><category>union-find</category><category>mst</category><category>kruskal</category><category>graph</category></item><item><title>Palindrome Number</title><link>http://localhost:4321/dsa/palindrome-number/</link><guid isPermaLink="true">http://localhost:4321/dsa/palindrome-number/</guid><description>Reverse the lower half — equals (or with-middle-digit equals) the upper half.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Easy</category><category>Math &amp; Geometry</category><category>math</category></item><item><title>Palindrome Linked List</title><link>http://localhost:4321/dsa/palindrome-linked-list/</link><guid isPermaLink="true">http://localhost:4321/dsa/palindrome-linked-list/</guid><description>Check linked-list palindromicity by reversing the second half in place and walking both halves.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Easy</category><category>Fast and Slow Pointers</category><category>fast-slow</category><category>linked-list</category></item><item><title>Palindrome Pairs</title><link>http://localhost:4321/dsa/palindrome-pairs/</link><guid isPermaLink="true">http://localhost:4321/dsa/palindrome-pairs/</guid><description>Find all index pairs (i, j) such that words[i] + words[j] is a palindrome — hash-map prefix/suffix trick.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Hard</category><category>Trie</category><category>trie</category><category>hash-map</category><category>strings</category></item><item><title>Palindrome Permutation</title><link>http://localhost:4321/dsa/palindrome-permutation/</link><guid isPermaLink="true">http://localhost:4321/dsa/palindrome-permutation/</guid><description>Check whether any permutation of `s` is a palindrome — count odd-frequency letters.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Easy</category><category>Tracking Patterns</category><category>hash-map</category><category>counting</category></item><item><title>Palindromic Substrings</title><link>http://localhost:4321/dsa/palindromic-substrings/</link><guid isPermaLink="true">http://localhost:4321/dsa/palindromic-substrings/</guid><description>Count palindromic substrings of s using expand-around-center in O(n²).</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Medium</category><category>Dynamic Programming</category><category>dp</category><category>string</category></item><item><title>Parallel Courses III</title><link>http://localhost:4321/dsa/parallel-courses-iii/</link><guid isPermaLink="true">http://localhost:4321/dsa/parallel-courses-iii/</guid><description>Minimum time to finish all courses given per-course time and prerequisites — topological DP.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Hard</category><category>Topological Sort</category><category>topological-sort</category><category>dp</category></item><item><title>Parallel Courses</title><link>http://localhost:4321/dsa/parallel-courses/</link><guid isPermaLink="true">http://localhost:4321/dsa/parallel-courses/</guid><description>Minimum number of semesters to complete n courses with dependencies, unlimited parallelism — BFS over semester levels.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Medium</category><category>Topological Sort</category><category>topological-sort</category><category>bfs</category></item><item><title>Parsing A Boolean Expression</title><link>http://localhost:4321/dsa/parsing-a-boolean-expression/</link><guid isPermaLink="true">http://localhost:4321/dsa/parsing-a-boolean-expression/</guid><description>Stack characters until `)`; pop until `(`, evaluate the operator above, and push the result.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Hard</category><category>Stacks</category><category>stack</category><category>parsing</category></item><item><title>Partition Equal Subset Sum (Bitset Variant)</title><link>http://localhost:4321/dsa/partition-equal-subset-sum-2/</link><guid isPermaLink="true">http://localhost:4321/dsa/partition-equal-subset-sum-2/</guid><description>The same problem as Batch 1 — this duplicate row in the curriculum gets a bitset-accelerated take.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Medium</category><category>Dynamic Programming</category><category>dp</category><category>knapsack</category><category>bitset</category></item><item><title>0/1 Knapsack — Partition Equal Subset Sum</title><link>http://localhost:4321/dsa/partition-equal-subset-sum/</link><guid isPermaLink="true">http://localhost:4321/dsa/partition-equal-subset-sum/</guid><description>Can we split nums into two equal-sum subsets? Classical 0/1 knapsack DP.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Medium</category><category>Dynamic Programming</category><category>dp</category><category>knapsack</category></item><item><title>Partition Labels</title><link>http://localhost:4321/dsa/partition-labels/</link><guid isPermaLink="true">http://localhost:4321/dsa/partition-labels/</guid><description>Cut a string into the maximum number of parts such that no letter appears in more than one part.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Medium</category><category>Two Pointers</category><category>two-pointers</category><category>greedy</category><category>string</category></item><item><title>Pascal&apos;s Triangle</title><link>http://localhost:4321/dsa/pascals-triangle/</link><guid isPermaLink="true">http://localhost:4321/dsa/pascals-triangle/</guid><description>Build the first numRows of Pascal&apos;s Triangle — row[j] = prevRow[j-1] + prevRow[j].</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Easy</category><category>Dynamic Programming</category><category>dp</category><category>combinatorics</category></item><item><title>Path with Maximum Probability</title><link>http://localhost:4321/dsa/path-with-maximum-probability/</link><guid isPermaLink="true">http://localhost:4321/dsa/path-with-maximum-probability/</guid><description>Dijkstra with max-heap on the product of edge probabilities.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Medium</category><category>Graphs</category><category>graph</category><category>dijkstra</category><category>shortest-path</category></item><item><title>Path Sum</title><link>http://localhost:4321/dsa/path-sum/</link><guid isPermaLink="true">http://localhost:4321/dsa/path-sum/</guid><description>DFS subtracting each node&apos;s value; at a leaf, return whether the remainder is exactly zero.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Easy</category><category>Tree DFS</category><category>tree</category><category>dfs</category></item><item><title>Paths in Maze That Lead to Same Room</title><link>http://localhost:4321/dsa/paths-in-maze-that-lead-to-same-room/</link><guid isPermaLink="true">http://localhost:4321/dsa/paths-in-maze-that-lead-to-same-room/</guid><description>Count triangles in an undirected graph — for each edge (u, v), count neighbors shared by both, then divide.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Medium</category><category>Graphs</category><category>graph</category><category>bitset</category><category>triangle-count</category></item><item><title>Perfect Squares</title><link>http://localhost:4321/dsa/perfect-squares/</link><guid isPermaLink="true">http://localhost:4321/dsa/perfect-squares/</guid><description>BFS by levels (or DP) — at each level subtract a perfect square, return the first level reaching 0.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Medium</category><category>Math &amp; Geometry</category><category>dp</category><category>bfs</category><category>math</category></item><item><title>Permutation in String</title><link>http://localhost:4321/dsa/permutation-in-string/</link><guid isPermaLink="true">http://localhost:4321/dsa/permutation-in-string/</guid><description>Does s2 contain any permutation of s1? Fixed-size sliding window over a frequency vector.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Medium</category><category>Sliding Window</category><category>sliding-window</category><category>string</category></item><item><title>Permutations II</title><link>http://localhost:4321/dsa/permutations-ii/</link><guid isPermaLink="true">http://localhost:4321/dsa/permutations-ii/</guid><description>Backtracking with a &quot;use-leftmost-unused-duplicate&quot; tie-breaker — sort, then skip a value if its previous copy is unused.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Medium</category><category>Review Challenges</category><category>backtracking</category><category>recursion</category></item><item><title>Plus One</title><link>http://localhost:4321/dsa/plus-one/</link><guid isPermaLink="true">http://localhost:4321/dsa/plus-one/</guid><description>Increment the LSB; on 9 set to 0 and carry; if every digit was 9, prepend 1.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Easy</category><category>Math &amp; Geometry</category><category>math</category><category>array</category></item><item><title>Permutations</title><link>http://localhost:4321/dsa/permutations/</link><guid isPermaLink="true">http://localhost:4321/dsa/permutations/</guid><description>Generate all permutations of a unique-element array via DFS with in-place swap-based backtracking.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Medium</category><category>Subsets</category><category>subsets</category><category>backtracking</category><category>permutation</category></item><item><title>Poor Pigs</title><link>http://localhost:4321/dsa/poor-pigs/</link><guid isPermaLink="true">http://localhost:4321/dsa/poor-pigs/</guid><description>Each pig encodes a base-(rounds+1) digit — smallest p with (rounds+1)^p &gt;= buckets is the answer.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Hard</category><category>Math &amp; Geometry</category><category>math</category><category>information-theory</category></item><item><title>Power of Three</title><link>http://localhost:4321/dsa/power-of-three/</link><guid isPermaLink="true">http://localhost:4321/dsa/power-of-three/</guid><description>The largest int32 power of 3 is `3^19 = 1162261467` — check whether n divides it.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Easy</category><category>Math &amp; Geometry</category><category>math</category></item><item><title>Populating Next Right Pointers in Each Node</title><link>http://localhost:4321/dsa/populating-next-right-pointers-in-each-node/</link><guid isPermaLink="true">http://localhost:4321/dsa/populating-next-right-pointers-in-each-node/</guid><description>Wire each node&apos;s `next` pointer to its right neighbor in a perfect binary tree using O(1) extra space.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Medium</category><category>Tree BFS</category><category>tree</category><category>bfs</category><category>linked-list</category></item><item><title>Power of Two</title><link>http://localhost:4321/dsa/power-of-two/</link><guid isPermaLink="true">http://localhost:4321/dsa/power-of-two/</guid><description>A positive power of two has exactly one set bit — `n &amp; (n - 1) == 0`.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Easy</category><category>Bitwise Operations</category><category>bit-manipulation</category><category>math</category></item><item><title>Powerful Integers</title><link>http://localhost:4321/dsa/powerful-integers/</link><guid isPermaLink="true">http://localhost:4321/dsa/powerful-integers/</guid><description>All values `x^i + y^j &lt;= bound` for non-negative i, j — bounded brute force with a set.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Medium</category><category>Hash Maps</category><category>hash-set</category><category>math</category></item><item><title>Product of Array Except Self</title><link>http://localhost:4321/dsa/product-of-array-except-self/</link><guid isPermaLink="true">http://localhost:4321/dsa/product-of-array-except-self/</guid><description>Two passes — left prefix products into output, then right prefix on the fly multiplying in.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Medium</category><category>Review Challenges</category><category>array</category><category>prefix-product</category></item><item><title>Put Marbles in Bags</title><link>http://localhost:4321/dsa/put-marbles-in-bags/</link><guid isPermaLink="true">http://localhost:4321/dsa/put-marbles-in-bags/</guid><description>Each cut between consecutive marbles contributes a pair-sum; the answer is the spread between the largest k-1 and smallest k-1 pair-sums.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Hard</category><category>Sort and Search</category><category>sorting</category><category>greedy</category><category>math</category></item><item><title>Queries on Number of Points Inside a Circle</title><link>http://localhost:4321/dsa/queries-on-number-of-points-inside-a-circle/</link><guid isPermaLink="true">http://localhost:4321/dsa/queries-on-number-of-points-inside-a-circle/</guid><description>For each query, count points within radius — brute force with squared distance is fast enough.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Medium</category><category>Math &amp; Geometry</category><category>geometry</category><category>brute-force</category></item><item><title>Range Sum Query - Immutable</title><link>http://localhost:4321/dsa/range-sum-query-immutable/</link><guid isPermaLink="true">http://localhost:4321/dsa/range-sum-query-immutable/</guid><description>Prefix-sum precomputation — O(1) range sum after O(n) build.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Easy</category><category>Custom Data Structs</category><category>design</category><category>prefix-sum</category></item><item><title>Range Sum of Sorted Subarray Sums</title><link>http://localhost:4321/dsa/range-sum-of-sorted-subarray-sums/</link><guid isPermaLink="true">http://localhost:4321/dsa/range-sum-of-sorted-subarray-sums/</guid><description>Generate all subarray sums, sort, and sum the requested index range modulo 1e9+7.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Medium</category><category>Sort and Search</category><category>sorting</category><category>prefix-sum</category></item><item><title>Range Module</title><link>http://localhost:4321/dsa/range-module/</link><guid isPermaLink="true">http://localhost:4321/dsa/range-module/</guid><description>Track tracked half-open intervals — std::map keyed by start, with merge/split on add/remove and predecessor lookup for queries.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Hard</category><category>Custom Data Structs</category><category>design</category><category>intervals</category><category>ordered-map</category></item><item><title>Rearranging Fruits</title><link>http://localhost:4321/dsa/rearranging-fruits/</link><guid isPermaLink="true">http://localhost:4321/dsa/rearranging-fruits/</guid><description>Minimum cost to equalize two baskets by swapping — sort the symmetric-difference half and use the global min as a &quot;courier&quot;.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Hard</category><category>Greedy Techniques</category><category>greedy</category><category>sorting</category><category>hash-map</category></item><item><title>Rank Teams by Votes</title><link>http://localhost:4321/dsa/rank-teams-by-votes/</link><guid isPermaLink="true">http://localhost:4321/dsa/rank-teams-by-votes/</guid><description>Rank teams by per-position vote tallies, ties broken by team name.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Medium</category><category>Tracking Patterns</category><category>hash-map</category><category>sorting</category><category>counting</category></item><item><title>Ransom Note</title><link>http://localhost:4321/dsa/ransom-note/</link><guid isPermaLink="true">http://localhost:4321/dsa/ransom-note/</guid><description>Can `ransomNote` be built from `magazine`&apos;s letters? Letter-count subset check.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Easy</category><category>Tracking Patterns</category><category>hash-map</category><category>counting</category><category>strings</category></item><item><title>Reconstruct Itinerary</title><link>http://localhost:4321/dsa/reconstruct-itinerary/</link><guid isPermaLink="true">http://localhost:4321/dsa/reconstruct-itinerary/</guid><description>Hierholzer&apos;s algorithm — pop edges greedily in lexicographic order and append to the route on backtrack.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Hard</category><category>Graphs</category><category>graph</category><category>eulerian</category><category>dfs</category><category>priority-queue</category></item><item><title>Recover a Tree From Preorder Traversal</title><link>http://localhost:4321/dsa/recover-a-tree-from-preorder-traversal/</link><guid isPermaLink="true">http://localhost:4321/dsa/recover-a-tree-from-preorder-traversal/</guid><description>Parse depth-prefix tokens; maintain a stack of ancestors and attach each node to its parent at depth-1.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Hard</category><category>Tree DFS</category><category>tree</category><category>parsing</category><category>stack</category></item><item><title>Rectangle Area</title><link>http://localhost:4321/dsa/rectangle-area/</link><guid isPermaLink="true">http://localhost:4321/dsa/rectangle-area/</guid><description>Total = sum of areas minus the overlap area; overlap dims are max(0, min - max) on each axis.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Medium</category><category>Math &amp; Geometry</category><category>geometry</category><category>math</category></item><item><title>Redundant Connection</title><link>http://localhost:4321/dsa/redundant-connection/</link><guid isPermaLink="true">http://localhost:4321/dsa/redundant-connection/</guid><description>Find the edge that creates a cycle in a tree-augmented graph — Union-Find detects the merge that closes a loop.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Medium</category><category>Union Find</category><category>union-find</category><category>graph</category></item><item><title>Rectangle Overlap</title><link>http://localhost:4321/dsa/rectangle-overlap/</link><guid isPermaLink="true">http://localhost:4321/dsa/rectangle-overlap/</guid><description>Two axis-aligned rectangles overlap iff their projections on both axes overlap (strictly, not just touch).</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Easy</category><category>Math &amp; Geometry</category><category>geometry</category><category>math</category></item><item><title>Regions Cut by Slashes</title><link>http://localhost:4321/dsa/regions-cut-by-slashes/</link><guid isPermaLink="true">http://localhost:4321/dsa/regions-cut-by-slashes/</guid><description>Count regions cut by slashes in an `n x n` grid by subdividing each cell into 4 triangles.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Medium</category><category>Union Find</category><category>union-find</category><category>grid</category></item><item><title>Remove All Adjacent Duplicates In String</title><link>http://localhost:4321/dsa/remove-all-adjacent-duplicates-in-string/</link><guid isPermaLink="true">http://localhost:4321/dsa/remove-all-adjacent-duplicates-in-string/</guid><description>Use a stack (or string accumulator) — push or pop based on the top.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Easy</category><category>Stacks</category><category>stack</category><category>string</category></item><item><title>Regular Expression Matching</title><link>http://localhost:4321/dsa/regular-expression-matching/</link><guid isPermaLink="true">http://localhost:4321/dsa/regular-expression-matching/</guid><description>Match s against p with `.` and `*` — 2D DP over prefix matching.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Hard</category><category>Dynamic Programming</category><category>dp</category><category>string</category></item><item><title>Remove Duplicate Letters</title><link>http://localhost:4321/dsa/remove-duplicate-letters/</link><guid isPermaLink="true">http://localhost:4321/dsa/remove-duplicate-letters/</guid><description>Greedy monotonic stack — keep the lexicographically smallest string with each letter exactly once.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Medium</category><category>Stacks</category><category>monotonic-stack</category><category>greedy</category><category>string</category></item><item><title>Remove Covered Intervals</title><link>http://localhost:4321/dsa/remove-covered-intervals/</link><guid isPermaLink="true">http://localhost:4321/dsa/remove-covered-intervals/</guid><description>Count intervals not covered by another after sorting by start ascending, end descending.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Medium</category><category>Intervals</category><category>intervals</category><category>sorting</category></item><item><title>Remove Duplicates from Sorted List</title><link>http://localhost:4321/dsa/remove-duplicates-from-sorted-list/</link><guid isPermaLink="true">http://localhost:4321/dsa/remove-duplicates-from-sorted-list/</guid><description>Drop adjacent duplicates from a sorted singly linked list with one pass.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Easy</category><category>In-Place Linked List</category><category>linked-list</category></item><item><title>Remove Duplicates from Sorted Array</title><link>http://localhost:4321/dsa/remove-duplicates-from-sorted-array/</link><guid isPermaLink="true">http://localhost:4321/dsa/remove-duplicates-from-sorted-array/</guid><description>Compress consecutive duplicates in a sorted array in place — single write pointer.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Easy</category><category>Two Pointers</category><category>two-pointers</category><category>array</category></item><item><title>Remove Element</title><link>http://localhost:4321/dsa/remove-element/</link><guid isPermaLink="true">http://localhost:4321/dsa/remove-element/</guid><description>Remove all occurrences of val from an array in place; return the new length.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Easy</category><category>Two Pointers</category><category>two-pointers</category><category>array</category></item><item><title>Remove K Digits</title><link>http://localhost:4321/dsa/remove-k-digits/</link><guid isPermaLink="true">http://localhost:4321/dsa/remove-k-digits/</guid><description>Remove k digits from a number-string to make the smallest result — monotonic increasing stack.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Medium</category><category>Greedy Techniques</category><category>greedy</category><category>monotonic-stack</category><category>string</category></item><item><title>Remove Invalid Parentheses</title><link>http://localhost:4321/dsa/remove-invalid-parentheses/</link><guid isPermaLink="true">http://localhost:4321/dsa/remove-invalid-parentheses/</guid><description>Remove the minimum parentheses to make s valid; return all distinct resulting strings via BFS or targeted DFS.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Hard</category><category>Backtracking</category><category>backtracking</category><category>string</category></item><item><title>Remove Linked List Elements</title><link>http://localhost:4321/dsa/remove-linked-list-elements/</link><guid isPermaLink="true">http://localhost:4321/dsa/remove-linked-list-elements/</guid><description>Delete every node with the given value — dummy head + walking predecessor.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Easy</category><category>In-Place Linked List</category><category>linked-list</category></item><item><title>Reorder List</title><link>http://localhost:4321/dsa/reorder-list/</link><guid isPermaLink="true">http://localhost:4321/dsa/reorder-list/</guid><description>Reorder `L0 → L1 → … → Ln` into `L0 → Ln → L1 → Ln-1 → …` by splitting, reversing, and weaving in place.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Medium</category><category>In-Place Linked List</category><category>linked-list</category><category>fast-slow</category></item><item><title>Remove nth Node from End of List</title><link>http://localhost:4321/dsa/remove-nth-node-from-end-of-list/</link><guid isPermaLink="true">http://localhost:4321/dsa/remove-nth-node-from-end-of-list/</guid><description>Drop the nth-from-last node in one pass using a fast/slow pointer gap of n.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Medium</category><category>Two Pointers</category><category>two-pointers</category><category>linked-list</category></item><item><title>Reorder Routes to Make All Paths Lead to the City Zero</title><link>http://localhost:4321/dsa/reorder-routes-to-make-all-paths-lead-to-the-city-zero/</link><guid isPermaLink="true">http://localhost:4321/dsa/reorder-routes-to-make-all-paths-lead-to-the-city-zero/</guid><description>BFS/DFS the undirected tree from city 0; count edges that point away — those must be flipped.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Medium</category><category>Graphs</category><category>graph</category><category>bfs</category><category>tree</category></item><item><title>Reorganize String</title><link>http://localhost:4321/dsa/reorganize-string/</link><guid isPermaLink="true">http://localhost:4321/dsa/reorganize-string/</guid><description>Rearrange so no two adjacent chars are equal — greedy max-heap by remaining count.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Medium</category><category>Top K Elements</category><category>top-k</category><category>heaps</category><category>greedy</category></item><item><title>Repeated DNA Sequences</title><link>http://localhost:4321/dsa/repeated-dna-sequences/</link><guid isPermaLink="true">http://localhost:4321/dsa/repeated-dna-sequences/</guid><description>Find every 10-letter DNA substring that appears more than once via fixed-size sliding window + hash set.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Medium</category><category>Sliding Window</category><category>sliding-window</category><category>hash-set</category><category>string</category></item><item><title>Replace Words</title><link>http://localhost:4321/dsa/replace-words/</link><guid isPermaLink="true">http://localhost:4321/dsa/replace-words/</guid><description>Replace every word in a sentence with the shortest dictionary root that prefixes it.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Medium</category><category>Trie</category><category>trie</category><category>strings</category></item><item><title>Restore IP Addresses</title><link>http://localhost:4321/dsa/restore-ip-addresses/</link><guid isPermaLink="true">http://localhost:4321/dsa/restore-ip-addresses/</guid><description>Enumerate all valid IPv4 addresses formed by inserting three dots into a digit string — DFS with strict octet rules.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Medium</category><category>Backtracking</category><category>backtracking</category><category>string</category></item><item><title>Reverse Bits</title><link>http://localhost:4321/dsa/reverse-bits/</link><guid isPermaLink="true">http://localhost:4321/dsa/reverse-bits/</guid><description>Reverse 32 bits of an unsigned int — shift the result left and OR with the low bit of the input each step.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Easy</category><category>Bitwise Operations</category><category>bit-manipulation</category></item><item><title>Reverse Linked List</title><link>http://localhost:4321/dsa/reverse-linked-list/</link><guid isPermaLink="true">http://localhost:4321/dsa/reverse-linked-list/</guid><description>In-place iterative reversal using prev/curr/next bookkeeping — the foundational linked-list primitive.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Easy</category><category>In-Place Linked List</category><category>linked-list</category></item><item><title>Reverse Integer</title><link>http://localhost:4321/dsa/reverse-integer/</link><guid isPermaLink="true">http://localhost:4321/dsa/reverse-integer/</guid><description>Reverse a 32-bit signed integer&apos;s digits — detect overflow before multiplying by 10.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Medium</category><category>Math &amp; Geometry</category><category>math</category><category>overflow</category></item><item><title>Reverse Linked List II</title><link>http://localhost:4321/dsa/reverse-linked-list-ii/</link><guid isPermaLink="true">http://localhost:4321/dsa/reverse-linked-list-ii/</guid><description>Reverse the sublist between positions left and right in place using the dummy-head + head-insertion trick.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Medium</category><category>In-Place Linked List</category><category>linked-list</category></item><item><title>Reverse Nodes In Even Length Groups</title><link>http://localhost:4321/dsa/reverse-nodes-in-even-length-groups/</link><guid isPermaLink="true">http://localhost:4321/dsa/reverse-nodes-in-even-length-groups/</guid><description>Reverse each natural-numbered group of nodes whose length is even.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Medium</category><category>In-Place Linked List</category><category>linked-list</category></item><item><title>Reverse String</title><link>http://localhost:4321/dsa/reverse-string/</link><guid isPermaLink="true">http://localhost:4321/dsa/reverse-string/</guid><description>In-place reversal of a character array using converging two pointers.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Easy</category><category>Two Pointers</category><category>two-pointers</category><category>string</category></item><item><title>Reverse Nodes in k-Group</title><link>http://localhost:4321/dsa/reverse-nodes-in-k-group/</link><guid isPermaLink="true">http://localhost:4321/dsa/reverse-nodes-in-k-group/</guid><description>Reverse every consecutive group of k nodes in place; leave the trailing remainder untouched.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Hard</category><category>In-Place Linked List</category><category>linked-list</category></item><item><title>Reverse Pairs</title><link>http://localhost:4321/dsa/reverse-pairs/</link><guid isPermaLink="true">http://localhost:4321/dsa/reverse-pairs/</guid><description>Count pairs where i precedes j and nums[i] exceeds twice nums[j] using a merge-sort with cross-count.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Hard</category><category>Sort and Search</category><category>merge-sort</category><category>divide-and-conquer</category></item><item><title>Reverse Vowels of a String</title><link>http://localhost:4321/dsa/reverse-vowels-of-a-string/</link><guid isPermaLink="true">http://localhost:4321/dsa/reverse-vowels-of-a-string/</guid><description>Swap only the vowel characters using converging pointers that skip non-vowels.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Easy</category><category>Two Pointers</category><category>two-pointers</category><category>string</category></item><item><title>Reverse Words in a String</title><link>http://localhost:4321/dsa/reverse-words-in-a-string/</link><guid isPermaLink="true">http://localhost:4321/dsa/reverse-words-in-a-string/</guid><description>Reverse the order of whitespace-delimited words, collapsing extra spaces.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Medium</category><category>Two Pointers</category><category>two-pointers</category><category>string</category></item><item><title>Roman to Integer</title><link>http://localhost:4321/dsa/roman-to-integer/</link><guid isPermaLink="true">http://localhost:4321/dsa/roman-to-integer/</guid><description>Parse a Roman numeral into its integer value — subtract when a smaller numeral precedes a larger.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Easy</category><category>Hash Maps</category><category>hash-map</category><category>strings</category></item><item><title>Rotate Array</title><link>http://localhost:4321/dsa/rotate-array/</link><guid isPermaLink="true">http://localhost:4321/dsa/rotate-array/</guid><description>Rotate an array right by k steps in place using three reverses.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Medium</category><category>Two Pointers</category><category>two-pointers</category><category>array</category></item><item><title>Rotate Image</title><link>http://localhost:4321/dsa/rotate-image/</link><guid isPermaLink="true">http://localhost:4321/dsa/rotate-image/</guid><description>Transpose then reverse each row — a 90-degree clockwise rotation in O(1) extra space.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Medium</category><category>Matrices</category><category>matrix</category><category>in-place</category></item><item><title>Rotate List</title><link>http://localhost:4321/dsa/rotate-list/</link><guid isPermaLink="true">http://localhost:4321/dsa/rotate-list/</guid><description>Rotate a singly linked list right by k positions by closing the cycle, advancing, and cutting.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Medium</category><category>In-Place Linked List</category><category>linked-list</category></item><item><title>Rotting Oranges</title><link>http://localhost:4321/dsa/rotting-oranges/</link><guid isPermaLink="true">http://localhost:4321/dsa/rotting-oranges/</guid><description>Multi-source BFS — seed the queue with all initially-rotten oranges and level-iterate; return the level when the queue empties.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Medium</category><category>Review Challenges</category><category>bfs</category><category>matrix</category><category>multi-source</category></item><item><title>Russian Doll Envelopes</title><link>http://localhost:4321/dsa/russian-doll-envelopes/</link><guid isPermaLink="true">http://localhost:4321/dsa/russian-doll-envelopes/</guid><description>Sort by width ascending, height descending; then longest-increasing-subsequence on heights.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Hard</category><category>Sort and Search</category><category>sorting</category><category>lis</category><category>binary-search</category></item><item><title>Schedule Tasks on Minimum Machines</title><link>http://localhost:4321/dsa/schedule-tasks-on-minimum-machines/</link><guid isPermaLink="true">http://localhost:4321/dsa/schedule-tasks-on-minimum-machines/</guid><description>curriculum variant of meeting rooms — schedule interval-style tasks across the fewest possible machines.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Medium</category><category>Heaps</category><category>heaps</category><category>intervals</category></item><item><title>Search in Rotated Sorted Array II</title><link>http://localhost:4321/dsa/search-in-rotated-sorted-array-ii/</link><guid isPermaLink="true">http://localhost:4321/dsa/search-in-rotated-sorted-array-ii/</guid><description>Same as version I but values may duplicate — strip equal endpoints to recover monotonicity, worst-case O(n).</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Medium</category><category>Modified Binary Search</category><category>binary-search</category></item><item><title>Search in Rotated Sorted Array</title><link>http://localhost:4321/dsa/search-in-rotated-sorted-array/</link><guid isPermaLink="true">http://localhost:4321/dsa/search-in-rotated-sorted-array/</guid><description>Binary search a rotated sorted array — one half is always sorted; route the search there.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Medium</category><category>Modified Binary Search</category><category>binary-search</category></item><item><title>Same Tree</title><link>http://localhost:4321/dsa/same-tree/</link><guid isPermaLink="true">http://localhost:4321/dsa/same-tree/</guid><description>Structural recursion — both null OK; one null fails; equal values + recurse left and right.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Easy</category><category>Review Challenges</category><category>tree</category><category>dfs</category><category>recursion</category></item><item><title>Search Suggestions System</title><link>http://localhost:4321/dsa/search-suggestions-system/</link><guid isPermaLink="true">http://localhost:4321/dsa/search-suggestions-system/</guid><description>For each prefix of searchWord, return up to 3 lexicographically smallest matching products.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Medium</category><category>Trie</category><category>trie</category><category>sorting</category><category>binary-search</category></item><item><title>Self Crossing</title><link>http://localhost:4321/dsa/self-crossing/</link><guid isPermaLink="true">http://localhost:4321/dsa/self-crossing/</guid><description>Three geometric cases — the path crosses iff one of &quot;4th edge crosses 1st&quot;, &quot;5th meets 1st&quot;, or &quot;6th crosses 1st&quot; holds.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Hard</category><category>Math &amp; Geometry</category><category>geometry</category><category>math</category></item><item><title>Serialize and Deserialize Binary Tree</title><link>http://localhost:4321/dsa/serialize-and-deserialize-binary-tree/</link><guid isPermaLink="true">http://localhost:4321/dsa/serialize-and-deserialize-binary-tree/</guid><description>Preorder serialization with null markers; deserialize by recursively consuming the next token.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Hard</category><category>Tree DFS</category><category>tree</category><category>dfs</category><category>design</category><category>serialization</category></item><item><title>Search Insert Position</title><link>http://localhost:4321/dsa/search-insert-position/</link><guid isPermaLink="true">http://localhost:4321/dsa/search-insert-position/</guid><description>Find the index of target in a sorted array, or the index where it would be inserted to maintain order.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Easy</category><category>Modified Binary Search</category><category>binary-search</category></item><item><title>Set Matrix Zeros</title><link>http://localhost:4321/dsa/set-matrix-zeros/</link><guid isPermaLink="true">http://localhost:4321/dsa/set-matrix-zeros/</guid><description>Use the matrix&apos;s own first row and column as zero-flag storage to achieve O(1) extra space.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Medium</category><category>Matrices</category><category>matrix</category><category>in-place</category></item><item><title>Set Mismatch</title><link>http://localhost:4321/dsa/set-mismatch/</link><guid isPermaLink="true">http://localhost:4321/dsa/set-mismatch/</guid><description>Find the duplicated and missing values in [1, n] via cyclic sort.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Medium</category><category>Cyclic Sort</category><category>cyclic-sort</category></item><item><title>Shortest Bridge</title><link>http://localhost:4321/dsa/shortest-bridge/</link><guid isPermaLink="true">http://localhost:4321/dsa/shortest-bridge/</guid><description>Find one island via DFS, then multi-source BFS outward from it; first time we hit the second island is the answer.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Medium</category><category>Review Challenges</category><category>bfs</category><category>dfs</category><category>matrix</category><category>graph</category></item><item><title>Shortest Common Supersequence</title><link>http://localhost:4321/dsa/shortest-common-supersequence/</link><guid isPermaLink="true">http://localhost:4321/dsa/shortest-common-supersequence/</guid><description>Shortest string containing both s1 and s2 as subsequences — LCS DP then reconstruction.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Hard</category><category>Dynamic Programming</category><category>dp</category><category>string</category></item><item><title>Shortest Cycle in a Graph</title><link>http://localhost:4321/dsa/shortest-cycle-in-a-graph/</link><guid isPermaLink="true">http://localhost:4321/dsa/shortest-cycle-in-a-graph/</guid><description>For each source node, BFS to find the shortest cycle including it — return the global minimum.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Hard</category><category>Graphs</category><category>graph</category><category>bfs</category><category>girth</category></item><item><title>Shortest Path Visiting All Nodes</title><link>http://localhost:4321/dsa/shortest-path-visiting-all-nodes/</link><guid isPermaLink="true">http://localhost:4321/dsa/shortest-path-visiting-all-nodes/</guid><description>BFS over (node, visited-bitmask) states — return path length when the bitmask is all-ones.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Hard</category><category>Graphs</category><category>bfs</category><category>bitmask</category><category>graph</category></item><item><title>Shortest Word Distance II</title><link>http://localhost:4321/dsa/shortest-word-distance-ii/</link><guid isPermaLink="true">http://localhost:4321/dsa/shortest-word-distance-ii/</guid><description>Repeated distance queries over a fixed word list — preprocess word to sorted index list, two-pointer merge per query.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Medium</category><category>Custom Data Structs</category><category>design</category><category>hash-map</category><category>two-pointers</category></item><item><title>Similar String Groups</title><link>http://localhost:4321/dsa/similar-string-groups/</link><guid isPermaLink="true">http://localhost:4321/dsa/similar-string-groups/</guid><description>Group strings where two differ by exactly one swap — DSU on pairwise similarity.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Hard</category><category>Union Find</category><category>union-find</category><category>strings</category></item><item><title>Single Element in a Sorted Array</title><link>http://localhost:4321/dsa/single-element-in-a-sorted-array/</link><guid isPermaLink="true">http://localhost:4321/dsa/single-element-in-a-sorted-array/</guid><description>Sorted array where every value appears twice except one — binary search on pair-aligned indices.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Medium</category><category>Modified Binary Search</category><category>binary-search</category></item><item><title>Single Number II</title><link>http://localhost:4321/dsa/single-number-ii/</link><guid isPermaLink="true">http://localhost:4321/dsa/single-number-ii/</guid><description>Every value appears three times except one — count bits mod 3 using two state bits (ones, twos).</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Medium</category><category>Bitwise Operations</category><category>bit-manipulation</category><category>state-machine</category></item><item><title>Single Number</title><link>http://localhost:4321/dsa/single-number/</link><guid isPermaLink="true">http://localhost:4321/dsa/single-number/</guid><description>XOR-fold the whole array — pairs cancel, the lone unmatched value remains.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Easy</category><category>Bitwise Operations</category><category>bit-manipulation</category><category>xor</category></item><item><title>Smallest Range Covering Elements from K Lists</title><link>http://localhost:4321/dsa/smallest-range-covering-elements-from-k-lists/</link><guid isPermaLink="true">http://localhost:4321/dsa/smallest-range-covering-elements-from-k-lists/</guid><description>Smallest [lo, hi] covering at least one element from each of k sorted lists — k-way merge tracking running max.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Hard</category><category>Top K Elements</category><category>top-k</category><category>heaps</category><category>k-way-merge</category></item><item><title>Sliding Window Maximum</title><link>http://localhost:4321/dsa/sliding-window-maximum/</link><guid isPermaLink="true">http://localhost:4321/dsa/sliding-window-maximum/</guid><description>Max of every length-k window via a monotonic deque.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Hard</category><category>Sliding Window</category><category>sliding-window</category><category>monotonic-deque</category><category>array</category></item><item><title>Snapshot Array</title><link>http://localhost:4321/dsa/snapshot-array/</link><guid isPermaLink="true">http://localhost:4321/dsa/snapshot-array/</guid><description>Versioned array with O(1) snap and O(log s) lookup — store change history per index, binary search by snap id.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Medium</category><category>Custom Data Structs</category><category>design</category><category>binary-search</category><category>versioning</category></item><item><title>Sliding Window Median</title><link>http://localhost:4321/dsa/sliding-window-median/</link><guid isPermaLink="true">http://localhost:4321/dsa/sliding-window-median/</guid><description>Median of every length-k window — two multisets with lazy rebalance.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Hard</category><category>Heaps</category><category>heaps</category><category>sliding-window</category></item><item><title>Sort an Array</title><link>http://localhost:4321/dsa/sort-an-array/</link><guid isPermaLink="true">http://localhost:4321/dsa/sort-an-array/</guid><description>Sort an array in O(n log n) using merge sort or randomized quicksort.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Medium</category><category>Greedy Techniques</category><category>sorting</category><category>divide-conquer</category></item><item><title>Sort Array By Parity II</title><link>http://localhost:4321/dsa/sort-array-by-parity-ii/</link><guid isPermaLink="true">http://localhost:4321/dsa/sort-array-by-parity-ii/</guid><description>Even-valued at even indices, odd-valued at odd indices — two interleaved pointers.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Easy</category><category>Cyclic Sort</category><category>cyclic-sort</category><category>two-pointers</category></item><item><title>Smallest Rectangle Enclosing Black Pixels</title><link>http://localhost:4321/dsa/smallest-rectangle-enclosing-black-pixels/</link><guid isPermaLink="true">http://localhost:4321/dsa/smallest-rectangle-enclosing-black-pixels/</guid><description>Binary search the four bounding rows/columns by checking if each side contains any black pixel.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Hard</category><category>Matrices</category><category>binary-search</category><category>matrix</category></item><item><title>Sort Items by Groups Respecting Dependencies</title><link>http://localhost:4321/dsa/sort-items-by-groups-respecting-dependencies/</link><guid isPermaLink="true">http://localhost:4321/dsa/sort-items-by-groups-respecting-dependencies/</guid><description>Order items so that group membership stays contiguous and dependencies are respected — nested topological sorts.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Hard</category><category>Topological Sort</category><category>topological-sort</category></item><item><title>Sort Colors</title><link>http://localhost:4321/dsa/sort-colors/</link><guid isPermaLink="true">http://localhost:4321/dsa/sort-colors/</guid><description>In-place sort of an array containing only 0, 1, and 2 using the Dutch-national-flag three-pointer partition.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Medium</category><category>Two Pointers</category><category>two-pointers</category><category>array</category><category>sorting</category></item><item><title>Sort List</title><link>http://localhost:4321/dsa/sort-list/</link><guid isPermaLink="true">http://localhost:4321/dsa/sort-list/</guid><description>Top-down merge sort on a linked list — slow/fast split, recurse, merge two sorted lists.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Medium</category><category>Review Challenges</category><category>linked-list</category><category>merge-sort</category><category>divide-and-conquer</category></item><item><title>Spiral Matrix II</title><link>http://localhost:4321/dsa/spiral-matrix-ii/</link><guid isPermaLink="true">http://localhost:4321/dsa/spiral-matrix-ii/</guid><description>Generate an n-by-n matrix filled 1..n^2 by walking the same four-direction spiral as Spiral Matrix.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Medium</category><category>Matrices</category><category>matrix</category><category>simulation</category></item><item><title>Spiral Matrix</title><link>http://localhost:4321/dsa/spiral-matrix/</link><guid isPermaLink="true">http://localhost:4321/dsa/spiral-matrix/</guid><description>Peel layers in four-direction order, shrinking the active rectangle after each side.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Medium</category><category>Matrices</category><category>matrix</category><category>simulation</category></item><item><title>Split a Circular Linked List</title><link>http://localhost:4321/dsa/split-a-circular-linked-list/</link><guid isPermaLink="true">http://localhost:4321/dsa/split-a-circular-linked-list/</guid><description>curriculum variant — split a circular linked list into two roughly equal halves, each itself circular.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Medium</category><category>Fast and Slow Pointers</category><category>fast-slow</category><category>linked-list</category></item><item><title>Split a String Into the Max Number of Unique Substrings</title><link>http://localhost:4321/dsa/split-a-string-into-the-max-number-of-unique-substrings/</link><guid isPermaLink="true">http://localhost:4321/dsa/split-a-string-into-the-max-number-of-unique-substrings/</guid><description>DFS partition of the string trying every prefix; track a set of already-used substrings.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Medium</category><category>Backtracking</category><category>backtracking</category><category>string</category></item><item><title>Split Array Into Two Arrays to Minimize Sum Difference</title><link>http://localhost:4321/dsa/split-array-into-two-arrays-to-minimize-sum-difference/</link><guid isPermaLink="true">http://localhost:4321/dsa/split-array-into-two-arrays-to-minimize-sum-difference/</guid><description>Partition 2n integers into two n-sized halves minimizing |sumA − sumB| — meet-in-the-middle + binary search.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Hard</category><category>Modified Binary Search</category><category>binary-search</category><category>meet-in-the-middle</category><category>bitmask</category></item><item><title>Split Array Largest Sum</title><link>http://localhost:4321/dsa/split-array-largest-sum/</link><guid isPermaLink="true">http://localhost:4321/dsa/split-array-largest-sum/</guid><description>Partition the array into m contiguous parts minimizing the maximum part sum — binary search on the answer.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Hard</category><category>Modified Binary Search</category><category>binary-search</category><category>greedy</category></item><item><title>Squares of a Sorted Array</title><link>http://localhost:4321/dsa/squares-of-a-sorted-array/</link><guid isPermaLink="true">http://localhost:4321/dsa/squares-of-a-sorted-array/</guid><description>Given a sorted (possibly negative) array, return the squares sorted ascending — two-pointer merge from both ends.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Easy</category><category>Two Pointers</category><category>two-pointers</category><category>array</category></item><item><title>Split Linked List in Parts</title><link>http://localhost:4321/dsa/split-linked-list-in-parts/</link><guid isPermaLink="true">http://localhost:4321/dsa/split-linked-list-in-parts/</guid><description>Split a list into k roughly-equal parts (earlier parts at most one node larger).</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Medium</category><category>In-Place Linked List</category><category>linked-list</category></item><item><title>String to Integer (atoi)</title><link>http://localhost:4321/dsa/string-to-integer-atoi/</link><guid isPermaLink="true">http://localhost:4321/dsa/string-to-integer-atoi/</guid><description>Skip whitespace, parse optional sign, consume digits with overflow clamp.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Medium</category><category>Review Challenges</category><category>string</category><category>parsing</category><category>math</category></item><item><title>Stream of Characters</title><link>http://localhost:4321/dsa/stream-of-characters/</link><guid isPermaLink="true">http://localhost:4321/dsa/stream-of-characters/</guid><description>Streaming multi-pattern match — build an Aho-Corasick-like trie over reversed words, walk it with a buffer of recent chars.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Hard</category><category>Custom Data Structs</category><category>design</category><category>trie</category><category>streaming</category></item><item><title>String Compression</title><link>http://localhost:4321/dsa/string-compression/</link><guid isPermaLink="true">http://localhost:4321/dsa/string-compression/</guid><description>Compress runs of identical characters in place, writing the character followed by its count.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Medium</category><category>Two Pointers</category><category>two-pointers</category><category>string</category></item><item><title>Strobogrammatic Number</title><link>http://localhost:4321/dsa/strobogrammatic-number/</link><guid isPermaLink="true">http://localhost:4321/dsa/strobogrammatic-number/</guid><description>Check whether a numeric string looks the same when rotated 180°.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Easy</category><category>Two Pointers</category><category>two-pointers</category><category>string</category></item><item><title>Subarrays with K Different Integers</title><link>http://localhost:4321/dsa/subarrays-with-k-different-integers/</link><guid isPermaLink="true">http://localhost:4321/dsa/subarrays-with-k-different-integers/</guid><description>Count subarrays with exactly K distinct integers — atMost(K) − atMost(K−1).</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Hard</category><category>Sliding Window</category><category>sliding-window</category><category>hash-map</category></item><item><title>Subsets II</title><link>http://localhost:4321/dsa/subsets-ii/</link><guid isPermaLink="true">http://localhost:4321/dsa/subsets-ii/</guid><description>Enumerate all distinct subsets when the input may contain duplicates — sort and skip duplicate branches.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Medium</category><category>Subsets</category><category>subsets</category><category>backtracking</category></item><item><title>Strong Password Checker</title><link>http://localhost:4321/dsa/strong-password-checker/</link><guid isPermaLink="true">http://localhost:4321/dsa/strong-password-checker/</guid><description>Compute the minimum edits (insert, delete, replace) to make a password &quot;strong&quot; — careful case analysis around triplet runs.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Hard</category><category>Greedy Techniques</category><category>greedy</category><category>string</category></item><item><title>Subsets</title><link>http://localhost:4321/dsa/subsets/</link><guid isPermaLink="true">http://localhost:4321/dsa/subsets/</guid><description>Enumerate all subsets of a unique array — bitmask, recursion, or iterative &quot;double&quot; pattern.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Medium</category><category>Subsets</category><category>subsets</category><category>backtracking</category><category>bitmask</category></item><item><title>Subtree of Another Tree</title><link>http://localhost:4321/dsa/subtree-of-another-tree/</link><guid isPermaLink="true">http://localhost:4321/dsa/subtree-of-another-tree/</guid><description>DFS over root; at each node, run an exact-match check against subRoot.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Easy</category><category>Review Challenges</category><category>tree</category><category>dfs</category><category>recursion</category></item><item><title>Substring with Concatenation of All Words</title><link>http://localhost:4321/dsa/substring-with-concatenation-of-all-words/</link><guid isPermaLink="true">http://localhost:4321/dsa/substring-with-concatenation-of-all-words/</guid><description>Find all start indices where s contains a concatenation of every word in `words` in any order.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Hard</category><category>Sliding Window</category><category>sliding-window</category><category>hash-map</category><category>string</category></item><item><title>Sum of All Subset XOR Totals</title><link>http://localhost:4321/dsa/sum-of-all-subset-xor-totals/</link><guid isPermaLink="true">http://localhost:4321/dsa/sum-of-all-subset-xor-totals/</guid><description>Each bit set in any element appears in exactly half the subsets — answer is OR-of-all-bits times 2^(n-1).</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Easy</category><category>Bitwise Operations</category><category>bit-manipulation</category><category>combinatorics</category></item><item><title>Sudoku Solver</title><link>http://localhost:4321/dsa/sudoku-solver/</link><guid isPermaLink="true">http://localhost:4321/dsa/sudoku-solver/</guid><description>Solve a Sudoku puzzle in place via backtracking with row/col/box bitmasks.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Hard</category><category>Backtracking</category><category>backtracking</category><category>bitmask</category></item><item><title>Sum of Mutated Array Closest to Target</title><link>http://localhost:4321/dsa/sum-of-mutated-array-closest-to-target/</link><guid isPermaLink="true">http://localhost:4321/dsa/sum-of-mutated-array-closest-to-target/</guid><description>Binary search the cap value that, after clamping every element, makes the array sum closest to target.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Medium</category><category>Sort and Search</category><category>binary-search</category><category>parametric-search</category></item><item><title>Sum of Distances in a Tree</title><link>http://localhost:4321/dsa/sum-of-distances-in-a-tree/</link><guid isPermaLink="true">http://localhost:4321/dsa/sum-of-distances-in-a-tree/</guid><description>Rerooting — first DFS computes subtree sums; second DFS shifts the perspective using the edge swing formula.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Hard</category><category>Tree DFS</category><category>tree</category><category>dfs</category><category>rerooting</category></item><item><title>Sum of Two Integers</title><link>http://localhost:4321/dsa/sum-of-two-integers/</link><guid isPermaLink="true">http://localhost:4321/dsa/sum-of-two-integers/</guid><description>Add without `+` — XOR is sum without carry; AND-shifted is the carry; loop until carry is zero.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Medium</category><category>Review Challenges</category><category>bit-manipulation</category><category>math</category></item><item><title>Super Ugly Number</title><link>http://localhost:4321/dsa/super-ugly-number/</link><guid isPermaLink="true">http://localhost:4321/dsa/super-ugly-number/</guid><description>The nth number whose prime factors lie in a given list — k-way merge of multiples.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Medium</category><category>K-way Merge</category><category>k-way-merge</category><category>dp</category><category>heaps</category></item><item><title>Swap Nodes in Pairs</title><link>http://localhost:4321/dsa/swap-nodes-in-pairs/</link><guid isPermaLink="true">http://localhost:4321/dsa/swap-nodes-in-pairs/</guid><description>Swap every two adjacent nodes in place using a dummy and a sliding triple.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Medium</category><category>In-Place Linked List</category><category>linked-list</category></item><item><title>Swim in Rising Water</title><link>http://localhost:4321/dsa/swim-in-rising-water/</link><guid isPermaLink="true">http://localhost:4321/dsa/swim-in-rising-water/</guid><description>Dijkstra where edge weight is the destination cell&apos;s height — the path cost is the max along the path.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Hard</category><category>Matrices</category><category>dijkstra</category><category>grid</category><category>binary-search</category></item><item><title>Symmetric Tree</title><link>http://localhost:4321/dsa/symmetric-tree/</link><guid isPermaLink="true">http://localhost:4321/dsa/symmetric-tree/</guid><description>Check whether a binary tree is a mirror of itself by comparing left/right subtrees pairwise.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Easy</category><category>Tree BFS</category><category>tree</category><category>bfs</category><category>recursion</category></item><item><title>Swapping Nodes in a Linked List</title><link>http://localhost:4321/dsa/swapping-nodes-in-a-linked-list/</link><guid isPermaLink="true">http://localhost:4321/dsa/swapping-nodes-in-a-linked-list/</guid><description>Swap values (not nodes) of the kth-from-start and kth-from-end positions with a single offset-pointer pass.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Medium</category><category>In-Place Linked List</category><category>linked-list</category><category>two-pointers</category></item><item><title>Task Scheduler</title><link>http://localhost:4321/dsa/task-scheduler/</link><guid isPermaLink="true">http://localhost:4321/dsa/task-scheduler/</guid><description>Schedule tasks with a cooldown using a math identity on the most-frequent task.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Medium</category><category>Intervals</category><category>intervals</category><category>greedy</category><category>math</category></item><item><title>Text Justification</title><link>http://localhost:4321/dsa/text-justification/</link><guid isPermaLink="true">http://localhost:4321/dsa/text-justification/</guid><description>Pack words greedily per line; distribute spaces evenly with extras on the left, left-justify the last line.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Hard</category><category>Greedy Techniques</category><category>greedy</category><category>string</category></item><item><title>The K Weakest Rows in a Matrix</title><link>http://localhost:4321/dsa/the-k-weakest-rows-in-a-matrix/</link><guid isPermaLink="true">http://localhost:4321/dsa/the-k-weakest-rows-in-a-matrix/</guid><description>Rank rows by (soldiers, index) and return the k weakest — binary search soldier counts plus a heap.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Easy</category><category>Modified Binary Search</category><category>binary-search</category><category>heaps</category></item><item><title>The Number of Good Subsets</title><link>http://localhost:4321/dsa/the-number-of-good-subsets/</link><guid isPermaLink="true">http://localhost:4321/dsa/the-number-of-good-subsets/</guid><description>Count subsets whose product is a product of distinct primes — bitmask DP over the 10 primes ≤ 30.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Hard</category><category>Dynamic Programming</category><category>dp</category><category>bitmask</category></item><item><title>The Number of the Smallest Unoccupied Chair</title><link>http://localhost:4321/dsa/the-number-of-the-smallest-unoccupied-chair/</link><guid isPermaLink="true">http://localhost:4321/dsa/the-number-of-the-smallest-unoccupied-chair/</guid><description>Friends arrive and leave at intervals — return which chair the target friend sits on, using two heaps.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Medium</category><category>Heaps</category><category>heaps</category></item><item><title>The Skyline Problem</title><link>http://localhost:4321/dsa/the-skyline-problem/</link><guid isPermaLink="true">http://localhost:4321/dsa/the-skyline-problem/</guid><description>Compute the contour of building rectangles using a max-heap sweep over critical x-coordinates.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Hard</category><category>Union Find</category><category>sweep-line</category><category>heap</category><category>sorting</category></item><item><title>Third Maximum Number</title><link>http://localhost:4321/dsa/third-maximum-number/</link><guid isPermaLink="true">http://localhost:4321/dsa/third-maximum-number/</guid><description>Return the third distinct maximum (or the maximum if fewer than 3 distinct exist) — three running tracker variables.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Easy</category><category>Top K Elements</category><category>top-k</category></item><item><title>Top K Frequent Elements</title><link>http://localhost:4321/dsa/top-k-frequent-elements/</link><guid isPermaLink="true">http://localhost:4321/dsa/top-k-frequent-elements/</guid><description>Return the k most frequent elements via bucket sort by frequency.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Medium</category><category>Top K Elements</category><category>top-k</category><category>heaps</category><category>bucket-sort</category></item><item><title>Time-Based Key-Value Store</title><link>http://localhost:4321/dsa/time-based-key-value-store/</link><guid isPermaLink="true">http://localhost:4321/dsa/time-based-key-value-store/</guid><description>set/get keyed by timestamp — per-key sorted timestamps with binary search for the largest timestamp not exceeding the query.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Medium</category><category>Custom Data Structs</category><category>design</category><category>hash-map</category><category>binary-search</category></item><item><title>Total Appeal of a String</title><link>http://localhost:4321/dsa/total-appeal-of-a-string/</link><guid isPermaLink="true">http://localhost:4321/dsa/total-appeal-of-a-string/</guid><description>Sum, over every substring, the count of distinct characters — contribution of each position.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Hard</category><category>Hash Maps</category><category>hash-map</category><category>math</category><category>contribution</category></item><item><title>Top K Frequent Words</title><link>http://localhost:4321/dsa/top-k-frequent-words/</link><guid isPermaLink="true">http://localhost:4321/dsa/top-k-frequent-words/</guid><description>Return the k most frequent words, ties broken lexicographically — counter + heap.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Medium</category><category>Trie</category><category>hash-map</category><category>heap</category><category>sorting</category></item><item><title>Transpose Matrix</title><link>http://localhost:4321/dsa/transpose-matrix/</link><guid isPermaLink="true">http://localhost:4321/dsa/transpose-matrix/</guid><description>Allocate a swapped-dimension grid and copy with indices flipped.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Easy</category><category>Matrices</category><category>matrix</category></item><item><title>Trapping Rain Water</title><link>http://localhost:4321/dsa/trapping-rain-water/</link><guid isPermaLink="true">http://localhost:4321/dsa/trapping-rain-water/</guid><description>Two pointers — water level on each side is bounded by its taller wall so far; advance the shorter side.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Hard</category><category>Review Challenges</category><category>two-pointers</category><category>array</category><category>monotonic-stack</category></item><item><title>Tree Diameter</title><link>http://localhost:4321/dsa/tree-diameter/</link><guid isPermaLink="true">http://localhost:4321/dsa/tree-diameter/</guid><description>Two BFS passes — first from any node finds a diameter endpoint; second BFS from there measures the diameter.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Medium</category><category>Graphs</category><category>tree</category><category>bfs</category><category>graph</category></item><item><title>Triangle</title><link>http://localhost:4321/dsa/triangle/</link><guid isPermaLink="true">http://localhost:4321/dsa/triangle/</guid><description>Minimum top-to-bottom path sum in a triangle — in-place bottom-up DP.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Medium</category><category>Dynamic Programming</category><category>dp</category></item><item><title>Triples with Bitwise AND Equal To Zero</title><link>http://localhost:4321/dsa/triples-with-bitwise-and-equal-to-zero/</link><guid isPermaLink="true">http://localhost:4321/dsa/triples-with-bitwise-and-equal-to-zero/</guid><description>Pair-AND frequency lookup — for each i, count j,k with (a[j] &amp; a[k] &amp; a[i]) == 0 via a precomputed pairwise table.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Hard</category><category>Bitwise Operations</category><category>bit-manipulation</category><category>hash-map</category><category>counting</category></item><item><title>Two City Scheduling</title><link>http://localhost:4321/dsa/two-city-scheduling/</link><guid isPermaLink="true">http://localhost:4321/dsa/two-city-scheduling/</guid><description>Send 2n people half to A, half to B minimizing total cost — sort by cost difference.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Medium</category><category>Greedy Techniques</category><category>greedy</category><category>sorting</category></item><item><title>Two Sum III - Data structure design</title><link>http://localhost:4321/dsa/two-sum-iii-data-structure-design/</link><guid isPermaLink="true">http://localhost:4321/dsa/two-sum-iii-data-structure-design/</guid><description>add/find with frequency map — find scans entries and checks complement, doubling check for x+x = target.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Easy</category><category>Custom Data Structs</category><category>design</category><category>hash-map</category></item><item><title>Two Sum IV - Input is a BST</title><link>http://localhost:4321/dsa/two-sum-iv-input-is-a-bst/</link><guid isPermaLink="true">http://localhost:4321/dsa/two-sum-iv-input-is-a-bst/</guid><description>Does the BST contain two distinct nodes summing to k? Inorder + two-pointer or hash-set traversal.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Easy</category><category>Tree BFS</category><category>tree</category><category>bst</category><category>hash-set</category></item><item><title>Two Sum Less Than K</title><link>http://localhost:4321/dsa/two-sum-less-than-k/</link><guid isPermaLink="true">http://localhost:4321/dsa/two-sum-less-than-k/</guid><description>Sort and two-pointer for the maximum pair sum strictly less than k.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Easy</category><category>Sort and Search</category><category>two-pointers</category><category>sorting</category></item><item><title>Two Sum</title><link>http://localhost:4321/dsa/two-sum/</link><guid isPermaLink="true">http://localhost:4321/dsa/two-sum/</guid><description>One-pass hash map of value to index — look up the complement before inserting the current value.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Easy</category><category>Review Challenges</category><category>hash-map</category><category>array</category></item><item><title>Unique Number of Occurrences</title><link>http://localhost:4321/dsa/unique-number-of-occurrences/</link><guid isPermaLink="true">http://localhost:4321/dsa/unique-number-of-occurrences/</guid><description>Check whether every value&apos;s occurrence count in the array is itself unique.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Easy</category><category>Hash Maps</category><category>hash-map</category><category>hash-set</category><category>counting</category></item><item><title>Unique Paths</title><link>http://localhost:4321/dsa/unique-paths/</link><guid isPermaLink="true">http://localhost:4321/dsa/unique-paths/</guid><description>1D DP rolling — each cell is the sum of the cell above and to its left.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Medium</category><category>Review Challenges</category><category>dp</category><category>combinatorics</category><category>math</category></item><item><title>Unique Paths III</title><link>http://localhost:4321/dsa/unique-paths-iii/</link><guid isPermaLink="true">http://localhost:4321/dsa/unique-paths-iii/</guid><description>Count paths from start to end visiting every empty cell exactly once — DFS with bitmask/count tracking.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Hard</category><category>Backtracking</category><category>backtracking</category><category>grid</category></item><item><title>Univalued Binary Tree</title><link>http://localhost:4321/dsa/univalued-binary-tree/</link><guid isPermaLink="true">http://localhost:4321/dsa/univalued-binary-tree/</guid><description>DFS verifying every node&apos;s value matches the root&apos;s.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Easy</category><category>Tree DFS</category><category>tree</category><category>dfs</category></item><item><title>Valid Palindrome II</title><link>http://localhost:4321/dsa/valid-palindrome-ii/</link><guid isPermaLink="true">http://localhost:4321/dsa/valid-palindrome-ii/</guid><description>Allow up to one character deletion — return true if the string can be made a palindrome.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Easy</category><category>Two Pointers</category><category>two-pointers</category><category>string</category><category>greedy</category></item><item><title>Valid Anagram</title><link>http://localhost:4321/dsa/valid-anagram/</link><guid isPermaLink="true">http://localhost:4321/dsa/valid-anagram/</guid><description>Check whether two strings are anagrams — letter-count comparison.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Easy</category><category>Tracking Patterns</category><category>hash-map</category><category>counting</category><category>strings</category></item><item><title>Valid Parentheses</title><link>http://localhost:4321/dsa/valid-parentheses/</link><guid isPermaLink="true">http://localhost:4321/dsa/valid-parentheses/</guid><description>Push openers; on a closer, the stack top must be its match.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Easy</category><category>Stacks</category><category>stack</category><category>parsing</category></item><item><title>Valid Palindrome</title><link>http://localhost:4321/dsa/valid-palindrome/</link><guid isPermaLink="true">http://localhost:4321/dsa/valid-palindrome/</guid><description>Check if a string reads the same forward and backward after lowercasing and dropping non-alphanumerics.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Easy</category><category>Two Pointers</category><category>two-pointers</category><category>string</category></item><item><title>Valid Sudoku</title><link>http://localhost:4321/dsa/valid-sudoku/</link><guid isPermaLink="true">http://localhost:4321/dsa/valid-sudoku/</guid><description>Verify a partially filled Sudoku board obeys row, column, and 3x3 box rules.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Medium</category><category>Hash Maps</category><category>hash-set</category><category>matrix</category><category>validation</category></item><item><title>Valid Square</title><link>http://localhost:4321/dsa/valid-square/</link><guid isPermaLink="true">http://localhost:4321/dsa/valid-square/</guid><description>Compute all 6 pairwise squared distances — a square has exactly 4 equal smaller and 2 equal larger, with the diagonal = side * sqrt(2).</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Medium</category><category>Math &amp; Geometry</category><category>geometry</category><category>math</category></item><item><title>Valid Triangle Number</title><link>http://localhost:4321/dsa/valid-triangle-number/</link><guid isPermaLink="true">http://localhost:4321/dsa/valid-triangle-number/</guid><description>Sort, then for each largest side use two pointers to count valid (a, b) pairs.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Medium</category><category>Sort and Search</category><category>two-pointers</category><category>sorting</category></item><item><title>Validate Binary Search Tree</title><link>http://localhost:4321/dsa/validate-binary-search-tree/</link><guid isPermaLink="true">http://localhost:4321/dsa/validate-binary-search-tree/</guid><description>DFS passes a (min, max) bound interval — each node&apos;s value must lie strictly inside.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Medium</category><category>Tree DFS</category><category>tree</category><category>dfs</category><category>bst</category></item><item><title>Valid Word Abbreviation</title><link>http://localhost:4321/dsa/valid-word-abbreviation/</link><guid isPermaLink="true">http://localhost:4321/dsa/valid-word-abbreviation/</guid><description>Check if a word matches an abbreviation that interleaves letters with digit counts. Two pointers, no leading zeros.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Easy</category><category>Two Pointers</category><category>two-pointers</category><category>string</category></item><item><title>Vertical Order Traversal of a Binary Tree</title><link>http://localhost:4321/dsa/vertical-order-traversal-of-a-binary-tree/</link><guid isPermaLink="true">http://localhost:4321/dsa/vertical-order-traversal-of-a-binary-tree/</guid><description>Group nodes by column, breaking ties by row then by value.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Hard</category><category>Tree BFS</category><category>tree</category><category>bfs</category><category>sorting</category></item><item><title>Verifying an Alien Dictionary</title><link>http://localhost:4321/dsa/verifying-an-alien-dictionary/</link><guid isPermaLink="true">http://localhost:4321/dsa/verifying-an-alien-dictionary/</guid><description>Are the words sorted in the given alien order? Pairwise compare via rank map.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Easy</category><category>Topological Sort</category><category>topological-sort</category><category>string</category></item><item><title>Water and Jug Problem</title><link>http://localhost:4321/dsa/water-and-jug-problem/</link><guid isPermaLink="true">http://localhost:4321/dsa/water-and-jug-problem/</guid><description>Solvable iff target ≤ x + y and target is a multiple of gcd(x, y) — Bezout&apos;s identity.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Medium</category><category>Math &amp; Geometry</category><category>math</category><category>gcd</category><category>number-theory</category></item><item><title>Vowel Spellchecker</title><link>http://localhost:4321/dsa/vowel-spellchecker/</link><guid isPermaLink="true">http://localhost:4321/dsa/vowel-spellchecker/</guid><description>Look up queries against a wordlist with three fallback levels — exact, case-insensitive, vowel-mask.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Medium</category><category>Hash Maps</category><category>hash-map</category><category>strings</category></item><item><title>Where Will the Ball Fall</title><link>http://localhost:4321/dsa/where-will-the-ball-fall/</link><guid isPermaLink="true">http://localhost:4321/dsa/where-will-the-ball-fall/</guid><description>Simulate each ball top-to-bottom, redirecting via the diagonal sign and detecting wall-stuck cases.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Medium</category><category>Matrices</category><category>matrix</category><category>simulation</category></item><item><title>Wildcard Matching</title><link>http://localhost:4321/dsa/wildcard-matching/</link><guid isPermaLink="true">http://localhost:4321/dsa/wildcard-matching/</guid><description>Match s against pattern p with `?` and `*` wildcards — greedy two-pointer with backtrack on mismatch.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Hard</category><category>Greedy Techniques</category><category>greedy</category><category>two-pointers</category><category>string</category></item><item><title>Word Break II</title><link>http://localhost:4321/dsa/word-break-ii/</link><guid isPermaLink="true">http://localhost:4321/dsa/word-break-ii/</guid><description>Return all sentences s can be segmented into — memoized DFS keyed by start index.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Hard</category><category>Dynamic Programming</category><category>dp</category><category>memoization</category><category>string</category></item><item><title>Word Break</title><link>http://localhost:4321/dsa/word-break/</link><guid isPermaLink="true">http://localhost:4321/dsa/word-break/</guid><description>Can s be segmented into dictionary words? 1D DP over prefixes.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Medium</category><category>Dynamic Programming</category><category>dp</category><category>string</category></item><item><title>Word Pattern</title><link>http://localhost:4321/dsa/word-pattern/</link><guid isPermaLink="true">http://localhost:4321/dsa/word-pattern/</guid><description>Check whether a pattern&apos;s characters bijectively match words in a sentence.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Easy</category><category>Hash Maps</category><category>hash-map</category><category>strings</category></item><item><title>Word Ladder</title><link>http://localhost:4321/dsa/word-ladder/</link><guid isPermaLink="true">http://localhost:4321/dsa/word-ladder/</guid><description>Shortest transformation sequence from begin to end via single-letter edits — BFS over a word graph.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Hard</category><category>Tree BFS</category><category>bfs</category><category>graph</category><category>strings</category></item><item><title>Word Ladder II</title><link>http://localhost:4321/dsa/word-ladder-ii/</link><guid isPermaLink="true">http://localhost:4321/dsa/word-ladder-ii/</guid><description>All shortest transformation sequences from begin to end — BFS to compute layered distances, DFS to enumerate paths.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Hard</category><category>Backtracking</category><category>backtracking</category><category>bfs</category><category>graph</category></item><item><title>Word Search II</title><link>http://localhost:4321/dsa/word-search-ii/</link><guid isPermaLink="true">http://localhost:4321/dsa/word-search-ii/</guid><description>Find every dictionary word in a board — trie-pruned DFS over the grid.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Hard</category><category>Trie</category><category>trie</category><category>dfs</category><category>backtracking</category><category>grid</category></item><item><title>Word Search</title><link>http://localhost:4321/dsa/word-search/</link><guid isPermaLink="true">http://localhost:4321/dsa/word-search/</guid><description>Find a word in a 2D grid via DFS with in-place visited marking.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>Medium</category><category>Backtracking</category><category>backtracking</category><category>grid</category></item></channel></rss>