<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Leetcode on My AI Digest</title><link>https://ai-digest.derricklin.net/tags/leetcode/</link><description>Recent content in Leetcode on My AI Digest</description><generator>Hugo</generator><language>en</language><lastBuildDate>Fri, 05 Jun 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://ai-digest.derricklin.net/tags/leetcode/index.xml" rel="self" type="application/rss+xml"/><item><title>LeetCode MEDIUM 1922 Count Good Numbers Summary</title><link>https://ai-digest.derricklin.net/career/leetcode-medium-1922-count-good-numbers-summary/</link><pubDate>Fri, 05 Jun 2026 00:00:00 +0000</pubDate><guid>https://ai-digest.derricklin.net/career/leetcode-medium-1922-count-good-numbers-summary/</guid><description>&lt;p&gt;Generated by Codex with GPT-5&lt;/p&gt;
&lt;h2 id="quick-facts"&gt;Quick facts&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Difficulty: &lt;code&gt;MEDIUM&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Problem: &lt;a href="https://leetcode.com/problems/count-good-numbers/" target="_blank"&gt;Count Good Numbers&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Topics: &lt;code&gt;Math&lt;/code&gt;, &lt;code&gt;Recursion&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="problem-gist"&gt;Problem gist&lt;/h2&gt;
&lt;p&gt;The problem asks for the number of length-&lt;code&gt;n&lt;/code&gt; digit strings that satisfy two position rules:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Digits at even indices can be one of &lt;code&gt;0&lt;/code&gt;, &lt;code&gt;2&lt;/code&gt;, &lt;code&gt;4&lt;/code&gt;, &lt;code&gt;6&lt;/code&gt;, or &lt;code&gt;8&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Digits at odd indices can be one of &lt;code&gt;2&lt;/code&gt;, &lt;code&gt;3&lt;/code&gt;, &lt;code&gt;5&lt;/code&gt;, or &lt;code&gt;7&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Indices are zero-based, so index &lt;code&gt;0&lt;/code&gt; is even. The string can start with &lt;code&gt;0&lt;/code&gt;; this is a digit string, not a normal integer representation. Because the answer can be enormous, return it modulo &lt;code&gt;1_000_000_007&lt;/code&gt;.&lt;/p&gt;</description></item><item><title>LeetCode MEDIUM 1143 Longest Common Subsequence Summary</title><link>https://ai-digest.derricklin.net/career/leetcode-medium-1143-longest-common-subsequence-summary/</link><pubDate>Wed, 03 Jun 2026 00:00:00 +0000</pubDate><guid>https://ai-digest.derricklin.net/career/leetcode-medium-1143-longest-common-subsequence-summary/</guid><description>&lt;p&gt;Generated by Codex with GPT-5&lt;/p&gt;
&lt;h2 id="quick-facts"&gt;Quick facts&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Difficulty: &lt;code&gt;MEDIUM&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Problem: &lt;a href="https://leetcode.com/problems/longest-common-subsequence/" target="_blank"&gt;Longest Common Subsequence&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Topics: &lt;code&gt;String&lt;/code&gt;, &lt;code&gt;Dynamic Programming&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="problem-gist"&gt;Problem gist&lt;/h2&gt;
&lt;p&gt;Given two strings, the task is to find the length of the longest sequence of characters that appears in both strings in the same relative order.&lt;/p&gt;
&lt;p&gt;The characters do not need to be contiguous. For example, &lt;code&gt;&amp;quot;ace&amp;quot;&lt;/code&gt; is a subsequence of &lt;code&gt;&amp;quot;abcde&amp;quot;&lt;/code&gt; because &lt;code&gt;a&lt;/code&gt;, &lt;code&gt;c&lt;/code&gt;, and &lt;code&gt;e&lt;/code&gt; appear in order, even though there are skipped characters between them.&lt;/p&gt;</description></item><item><title>LeetCode MEDIUM 1094 Car Pooling Summary</title><link>https://ai-digest.derricklin.net/career/leetcode-medium-1094-car-pooling-summary/</link><pubDate>Mon, 01 Jun 2026 00:00:00 +0000</pubDate><guid>https://ai-digest.derricklin.net/career/leetcode-medium-1094-car-pooling-summary/</guid><description>&lt;p&gt;Generated by Codex with GPT-5&lt;/p&gt;
&lt;h2 id="quick-facts"&gt;Quick facts&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Difficulty: &lt;code&gt;MEDIUM&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Problem: &lt;a href="https://leetcode.com/problems/car-pooling/" target="_blank"&gt;Car Pooling&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Topics: &lt;code&gt;Array&lt;/code&gt;, &lt;code&gt;Sorting&lt;/code&gt;, &lt;code&gt;Heap (Priority Queue)&lt;/code&gt;, &lt;code&gt;Simulation&lt;/code&gt;, &lt;code&gt;Prefix Sum&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="what-the-problem-is-really-asking"&gt;What the problem is really asking&lt;/h2&gt;
&lt;p&gt;A car has a fixed number of seats and only travels east. Each trip is described as &lt;code&gt;[passengers, pickup, dropoff]&lt;/code&gt;: the passengers enter at &lt;code&gt;pickup&lt;/code&gt; and leave at &lt;code&gt;dropoff&lt;/code&gt;.&lt;/p&gt;</description></item><item><title>LeetCode MEDIUM 1011 Capacity To Ship Packages Within D Days Summary</title><link>https://ai-digest.derricklin.net/career/leetcode-medium-1011-capacity-to-ship-packages-within-d-days-summary/</link><pubDate>Sat, 30 May 2026 00:00:00 +0000</pubDate><guid>https://ai-digest.derricklin.net/career/leetcode-medium-1011-capacity-to-ship-packages-within-d-days-summary/</guid><description>&lt;p&gt;Generated by Codex with GPT-5&lt;/p&gt;
&lt;h2 id="quick-facts"&gt;Quick facts&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Difficulty: &lt;code&gt;MEDIUM&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Problem: &lt;a href="https://leetcode.com/problems/capacity-to-ship-packages-within-d-days/" target="_blank"&gt;Capacity To Ship Packages Within D Days&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Topics: &lt;code&gt;Array&lt;/code&gt;, &lt;code&gt;Binary Search&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="problem-gist"&gt;Problem gist&lt;/h2&gt;
&lt;p&gt;There is a line of packages, each with a weight. A ship moves packages in the given order, and each day it can carry packages only until the total loaded weight reaches its capacity. The task is to find the smallest ship capacity that can move every package within &lt;code&gt;days&lt;/code&gt; days.&lt;/p&gt;</description></item><item><title>LeetCode MEDIUM 833 Find And Replace in String Summary</title><link>https://ai-digest.derricklin.net/career/leetcode-medium-833-find-and-replace-in-string-summary/</link><pubDate>Thu, 28 May 2026 00:00:00 +0000</pubDate><guid>https://ai-digest.derricklin.net/career/leetcode-medium-833-find-and-replace-in-string-summary/</guid><description>&lt;p&gt;Generated by Codex with GPT-5&lt;/p&gt;
&lt;h2 id="quick-facts"&gt;Quick facts&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Difficulty: &lt;code&gt;MEDIUM&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Problem: &lt;a href="https://leetcode.com/problems/find-and-replace-in-string/" target="_blank"&gt;Find And Replace in String&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Topics: &lt;code&gt;Array&lt;/code&gt;, &lt;code&gt;Hash Table&lt;/code&gt;, &lt;code&gt;String&lt;/code&gt;, &lt;code&gt;Sorting&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="problem-gist"&gt;Problem gist&lt;/h2&gt;
&lt;p&gt;The input is a base string &lt;code&gt;s&lt;/code&gt; and three parallel arrays:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;indices[i]&lt;/code&gt; says where a possible replacement starts.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;sources[i]&lt;/code&gt; says what text must already appear there.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;targets[i]&lt;/code&gt; says what text to write if the source matches.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Every replacement is checked against the original string, not against a partially edited string. That &amp;ldquo;simultaneous&amp;rdquo; detail is the core of the problem. If &lt;code&gt;s = &amp;quot;abcd&amp;quot;&lt;/code&gt;, &lt;code&gt;indices = [0, 2]&lt;/code&gt;, &lt;code&gt;sources = [&amp;quot;a&amp;quot;, &amp;quot;cd&amp;quot;]&lt;/code&gt;, and &lt;code&gt;targets = [&amp;quot;eee&amp;quot;, &amp;quot;ffff&amp;quot;]&lt;/code&gt;, both checks happen on &lt;code&gt;&amp;quot;abcd&amp;quot;&lt;/code&gt;, so the answer is &lt;code&gt;&amp;quot;eeebffff&amp;quot;&lt;/code&gt;.&lt;/p&gt;</description></item><item><title>LeetCode MEDIUM 787 Cheapest Flights Within K Stops Summary</title><link>https://ai-digest.derricklin.net/career/leetcode-medium-787-cheapest-flights-within-k-stops-summary/</link><pubDate>Tue, 26 May 2026 00:00:00 +0000</pubDate><guid>https://ai-digest.derricklin.net/career/leetcode-medium-787-cheapest-flights-within-k-stops-summary/</guid><description>&lt;p&gt;Generated by Codex with GPT-5&lt;/p&gt;
&lt;h2 id="quick-facts"&gt;Quick facts&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Difficulty: &lt;code&gt;MEDIUM&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Problem: &lt;a href="https://leetcode.com/problems/cheapest-flights-within-k-stops/" target="_blank"&gt;Cheapest Flights Within K Stops&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Topics: &lt;code&gt;Dynamic Programming&lt;/code&gt;, &lt;code&gt;Depth-First Search&lt;/code&gt;, &lt;code&gt;Breadth-First Search&lt;/code&gt;, &lt;code&gt;Graph Theory&lt;/code&gt;, &lt;code&gt;Heap (Priority Queue)&lt;/code&gt;, &lt;code&gt;Shortest Path&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="problem-gist"&gt;Problem gist&lt;/h2&gt;
&lt;p&gt;There are &lt;code&gt;n&lt;/code&gt; cities, and each directed flight has a departure city, an arrival city, and a price. Given &lt;code&gt;src&lt;/code&gt;, &lt;code&gt;dst&lt;/code&gt;, and &lt;code&gt;k&lt;/code&gt;, return the cheapest price from &lt;code&gt;src&lt;/code&gt; to &lt;code&gt;dst&lt;/code&gt; using at most &lt;code&gt;k&lt;/code&gt; stops. If no such route exists, return &lt;code&gt;-1&lt;/code&gt;.&lt;/p&gt;</description></item><item><title>LeetCode MEDIUM 662 Maximum Width of Binary Tree Summary</title><link>https://ai-digest.derricklin.net/career/leetcode-medium-662-maximum-width-of-binary-tree-summary/</link><pubDate>Sun, 24 May 2026 00:00:00 +0000</pubDate><guid>https://ai-digest.derricklin.net/career/leetcode-medium-662-maximum-width-of-binary-tree-summary/</guid><description>&lt;p&gt;Generated by Codex with GPT-5&lt;/p&gt;
&lt;h2 id="quick-facts"&gt;Quick facts&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Difficulty: &lt;code&gt;MEDIUM&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Problem: &lt;a href="https://leetcode.com/problems/maximum-width-of-binary-tree/" target="_blank"&gt;Maximum Width of Binary Tree&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Topics: &lt;code&gt;Tree&lt;/code&gt;, &lt;code&gt;Depth-First Search&lt;/code&gt;, &lt;code&gt;Breadth-First Search&lt;/code&gt;, &lt;code&gt;Binary Tree&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="problem-gist"&gt;Problem gist&lt;/h2&gt;
&lt;p&gt;The input is the root of a binary tree. The task is to find the largest width across all levels.&lt;/p&gt;
&lt;p&gt;The subtle part is how width is defined. It is not just the number of real nodes on a level. The width runs from the leftmost real node to the rightmost real node on that level, counting the missing null positions between them as if the tree were laid out like a complete binary tree.&lt;/p&gt;</description></item><item><title>LeetCode MEDIUM 658 Find K Closest Elements Summary</title><link>https://ai-digest.derricklin.net/career/leetcode-medium-658-find-k-closest-elements-summary/</link><pubDate>Fri, 22 May 2026 00:00:00 +0000</pubDate><guid>https://ai-digest.derricklin.net/career/leetcode-medium-658-find-k-closest-elements-summary/</guid><description>&lt;p&gt;Generated by Codex with GPT-5&lt;/p&gt;
&lt;h2 id="quick-facts"&gt;Quick facts&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Difficulty: &lt;code&gt;MEDIUM&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Problem: &lt;a href="https://leetcode.com/problems/find-k-closest-elements/" target="_blank"&gt;Find K Closest Elements&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Topics: &lt;code&gt;Array&lt;/code&gt;, &lt;code&gt;Two Pointers&lt;/code&gt;, &lt;code&gt;Binary Search&lt;/code&gt;, &lt;code&gt;Sliding Window&lt;/code&gt;, &lt;code&gt;Sorting&lt;/code&gt;, &lt;code&gt;Heap (Priority Queue)&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="what-the-problem-is-asking"&gt;What the problem is asking&lt;/h2&gt;
&lt;p&gt;The input is already sorted. Given a target value &lt;code&gt;x&lt;/code&gt;, the task is to return the &lt;code&gt;k&lt;/code&gt; values that are closest to it, still in sorted order.&lt;/p&gt;</description></item><item><title>LeetCode MEDIUM 444 Sequence Reconstruction Summary</title><link>https://ai-digest.derricklin.net/career/leetcode-medium-444-sequence-reconstruction-summary/</link><pubDate>Wed, 20 May 2026 00:00:00 +0000</pubDate><guid>https://ai-digest.derricklin.net/career/leetcode-medium-444-sequence-reconstruction-summary/</guid><description>&lt;p&gt;Generated by Codex with GPT-5&lt;/p&gt;
&lt;h2 id="quick-facts"&gt;Quick facts&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Difficulty: &lt;code&gt;MEDIUM&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Problem: &lt;a href="https://leetcode.com/problems/sequence-reconstruction/" target="_blank"&gt;Sequence Reconstruction&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Topics: &lt;code&gt;Array&lt;/code&gt;, &lt;code&gt;Graph Theory&lt;/code&gt;, &lt;code&gt;Topological Sort&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="what-the-problem-is-asking"&gt;What the problem is asking&lt;/h2&gt;
&lt;p&gt;The input gives a target sequence &lt;code&gt;nums&lt;/code&gt; and a list of shorter sequences. Each shorter sequence says, &amp;ldquo;these numbers must appear in this relative order.&amp;rdquo;&lt;/p&gt;
&lt;p&gt;The task is not just to ask whether &lt;code&gt;nums&lt;/code&gt; can be built from those constraints. It asks whether &lt;code&gt;nums&lt;/code&gt; is the only shortest sequence that satisfies every constraint. If another sequence of the same shortest length can also satisfy the constraints, the answer is &lt;code&gt;False&lt;/code&gt;.&lt;/p&gt;</description></item><item><title>LeetCode MEDIUM 442 Find All Duplicates in an Array Summary</title><link>https://ai-digest.derricklin.net/career/leetcode-medium-442-find-all-duplicates-in-an-array-summary/</link><pubDate>Mon, 18 May 2026 00:00:00 +0000</pubDate><guid>https://ai-digest.derricklin.net/career/leetcode-medium-442-find-all-duplicates-in-an-array-summary/</guid><description>&lt;p&gt;Generated by Codex with GPT-5&lt;/p&gt;
&lt;h2 id="quick-facts"&gt;Quick facts&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Difficulty: &lt;code&gt;MEDIUM&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Problem: &lt;a href="https://leetcode.com/problems/find-all-duplicates-in-an-array/" target="_blank"&gt;Find All Duplicates in an Array&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Topics: &lt;code&gt;Array&lt;/code&gt;, &lt;code&gt;Hash Table&lt;/code&gt;, &lt;code&gt;Sorting&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="problem-gist"&gt;Problem gist&lt;/h2&gt;
&lt;p&gt;The input is an array &lt;code&gt;nums&lt;/code&gt; of length &lt;code&gt;n&lt;/code&gt;. Every value is in the range &lt;code&gt;1&lt;/code&gt; through &lt;code&gt;n&lt;/code&gt;, and each value appears either once or twice. The task is to return every value that appears twice.&lt;/p&gt;</description></item><item><title>LeetCode MEDIUM 416 Partition Equal Subset Sum Summary</title><link>https://ai-digest.derricklin.net/career/leetcode-medium-416-partition-equal-subset-sum-summary/</link><pubDate>Fri, 15 May 2026 00:00:00 +0000</pubDate><guid>https://ai-digest.derricklin.net/career/leetcode-medium-416-partition-equal-subset-sum-summary/</guid><description>&lt;p&gt;Generated by Codex with GPT-5&lt;/p&gt;
&lt;h2 id="quick-facts"&gt;Quick facts&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Difficulty: &lt;code&gt;MEDIUM&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Problem: &lt;a href="https://leetcode.com/problems/partition-equal-subset-sum/" target="_blank"&gt;Partition Equal Subset Sum&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Topics: &lt;code&gt;Array&lt;/code&gt;, &lt;code&gt;Dynamic Programming&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="what-the-problem-is-really-asking"&gt;What the problem is really asking&lt;/h2&gt;
&lt;p&gt;The input is an array of positive integers. The task is to decide whether the array can be split into two subsets whose sums are exactly equal.&lt;/p&gt;</description></item><item><title>LeetCode HARD 3721 Longest Balanced Subarray II Summary</title><link>https://ai-digest.derricklin.net/career/leetcode-hard-3721-longest-balanced-subarray-ii-summary/</link><pubDate>Thu, 14 May 2026 00:00:00 +0000</pubDate><guid>https://ai-digest.derricklin.net/career/leetcode-hard-3721-longest-balanced-subarray-ii-summary/</guid><description>&lt;p&gt;Generated by Codex with GPT-5&lt;/p&gt;
&lt;h2 id="quick-facts"&gt;Quick facts&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Difficulty: &lt;code&gt;HARD&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Problem: &lt;a href="https://leetcode.com/problems/longest-balanced-subarray-ii/" target="_blank"&gt;Longest Balanced Subarray II&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Topics: &lt;code&gt;Array&lt;/code&gt;, &lt;code&gt;Hash Table&lt;/code&gt;, &lt;code&gt;Divide and Conquer&lt;/code&gt;, &lt;code&gt;Segment Tree&lt;/code&gt;, &lt;code&gt;Prefix Sum&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="problem-gist"&gt;Problem gist&lt;/h2&gt;
&lt;p&gt;The input is an integer array. A subarray is balanced when the number of distinct even values inside it equals the number of distinct odd values inside it. Repeated copies of the same number only count once, so &lt;code&gt;[3, 2, 2, 5, 4]&lt;/code&gt; has two distinct odd values, &lt;code&gt;3&lt;/code&gt; and &lt;code&gt;5&lt;/code&gt;, and two distinct even values, &lt;code&gt;2&lt;/code&gt; and &lt;code&gt;4&lt;/code&gt;.&lt;/p&gt;</description></item><item><title>LeetCode 703-variant Kth Largest with Dynamic K Summary</title><link>https://ai-digest.derricklin.net/career/leetcode-703-variant-kth-largest-with-dynamic-k-summary/</link><pubDate>Wed, 13 May 2026 00:00:00 +0000</pubDate><guid>https://ai-digest.derricklin.net/career/leetcode-703-variant-kth-largest-with-dynamic-k-summary/</guid><description>&lt;p&gt;Generated by Claude with claude-opus-4-7&lt;/p&gt;
&lt;h2 id="quick-facts"&gt;Quick facts&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Problem: &lt;a href="https://leetcode.com/problems/kth-largest-element-in-a-stream/" target="_blank"&gt;Kth Largest Element in a Stream&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Topics: &lt;code&gt;Design&lt;/code&gt;, &lt;code&gt;Heap (Priority Queue)&lt;/code&gt;, &lt;code&gt;Data Stream&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="problem-gist"&gt;Problem gist&lt;/h2&gt;
&lt;p&gt;Design a collection that supports two operations in any interleaving:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;insert(num)&lt;/code&gt; — add a number to the collection.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;find_kth_largest(k)&lt;/code&gt; — return the &lt;code&gt;k&lt;/code&gt;-th largest element currently in the collection.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The twist versus the original LeetCode 703 is that &lt;code&gt;k&lt;/code&gt; is a parameter of every query and may change from call to call. The classic min-heap-of-size-&lt;code&gt;k&lt;/code&gt; solution relied on &lt;code&gt;k&lt;/code&gt; being fixed at construction so it could safely discard everything below the running &lt;code&gt;k&lt;/code&gt;-th largest. Once &lt;code&gt;k&lt;/code&gt; can grow on a later call, no element is safe to throw away, and the whole strategy has to change.&lt;/p&gt;</description></item><item><title>LeetCode HARD Encode Any Input to JSON String Summary</title><link>https://ai-digest.derricklin.net/career/leetcode-hard-encode-any-input-to-json-string-summary/</link><pubDate>Wed, 13 May 2026 00:00:00 +0000</pubDate><guid>https://ai-digest.derricklin.net/career/leetcode-hard-encode-any-input-to-json-string-summary/</guid><description>&lt;p&gt;Generated by Codex with GPT-5&lt;/p&gt;
&lt;h2 id="quick-facts"&gt;Quick facts&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Difficulty: &lt;code&gt;HARD&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Problem: Custom LeetCode-style prompt: Encode Any Input to JSON String&lt;/li&gt;
&lt;li&gt;Topics: &lt;code&gt;Serialization&lt;/code&gt;, &lt;code&gt;Depth-First Search&lt;/code&gt;, &lt;code&gt;Hash Table&lt;/code&gt;, &lt;code&gt;Graph&lt;/code&gt;, &lt;code&gt;Design&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="problem-gist"&gt;Problem gist&lt;/h2&gt;
&lt;p&gt;The task is to write an encoder that accepts an input value and returns the same kind of string a normal JSON serializer would return:&lt;/p&gt;</description></item><item><title>LeetCode MEDIUM 371 Sum of Two Integers Summary</title><link>https://ai-digest.derricklin.net/career/leetcode-medium-371-sum-of-two-integers-summary/</link><pubDate>Wed, 13 May 2026 00:00:00 +0000</pubDate><guid>https://ai-digest.derricklin.net/career/leetcode-medium-371-sum-of-two-integers-summary/</guid><description>&lt;p&gt;Generated by Codex with GPT-5&lt;/p&gt;
&lt;h2 id="quick-facts"&gt;Quick facts&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Difficulty: &lt;code&gt;MEDIUM&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Problem: &lt;a href="https://leetcode.com/problems/sum-of-two-integers/" target="_blank"&gt;Sum of Two Integers&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Topics: &lt;code&gt;Math&lt;/code&gt;, &lt;code&gt;Bit Manipulation&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="problem-gist"&gt;Problem gist&lt;/h2&gt;
&lt;p&gt;The task is to return the sum of two signed integers without using the &lt;code&gt;+&lt;/code&gt; or &lt;code&gt;-&lt;/code&gt; operators. The important constraint is not about math knowledge; it is about understanding how binary addition works under the hood.&lt;/p&gt;</description></item><item><title>LeetCode MEDIUM 402 Remove K Digits Summary</title><link>https://ai-digest.derricklin.net/career/leetcode-medium-402-remove-k-digits-summary/</link><pubDate>Wed, 13 May 2026 00:00:00 +0000</pubDate><guid>https://ai-digest.derricklin.net/career/leetcode-medium-402-remove-k-digits-summary/</guid><description>&lt;p&gt;Generated by Codex with GPT-5&lt;/p&gt;
&lt;h2 id="quick-facts"&gt;Quick facts&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Difficulty: &lt;code&gt;MEDIUM&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Problem: &lt;a href="https://leetcode.com/problems/remove-k-digits/" target="_blank"&gt;Remove K Digits&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Topics: &lt;code&gt;String&lt;/code&gt;, &lt;code&gt;Stack&lt;/code&gt;, &lt;code&gt;Greedy&lt;/code&gt;, &lt;code&gt;Monotonic Stack&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="problem-gist"&gt;Problem gist&lt;/h2&gt;
&lt;p&gt;The problem gives a non-negative integer as a string and asks for the smallest possible number after removing exactly &lt;code&gt;k&lt;/code&gt; digits. The answer must not keep unnecessary leading zeroes, and if every digit is removed or the remaining digits are all zeroes, the answer is &lt;code&gt;&amp;quot;0&amp;quot;&lt;/code&gt;.&lt;/p&gt;</description></item><item><title>LeetCode MEDIUM Two-Color Necklace Splitting Summary</title><link>https://ai-digest.derricklin.net/career/leetcode-medium-two-color-necklace-splitting-summary/</link><pubDate>Wed, 13 May 2026 00:00:00 +0000</pubDate><guid>https://ai-digest.derricklin.net/career/leetcode-medium-two-color-necklace-splitting-summary/</guid><description>&lt;p&gt;Generated by Codex with GPT-5&lt;/p&gt;
&lt;h2 id="quick-facts"&gt;Quick facts&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Difficulty: &lt;code&gt;MEDIUM&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Problem: Custom LeetCode-style prompt: Two-Color Necklace Splitting&lt;/li&gt;
&lt;li&gt;Topics: &lt;code&gt;Array&lt;/code&gt;, &lt;code&gt;Sliding Window&lt;/code&gt;, &lt;code&gt;Prefix Sum&lt;/code&gt;, &lt;code&gt;Greedy&lt;/code&gt;, &lt;code&gt;Math&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="problem-gist"&gt;Problem gist&lt;/h2&gt;
&lt;p&gt;This is a special case of the necklace splitting problem: two people, two bead
types, and therefore at most two cuts. The input is a necklace represented as an
array containing only &lt;code&gt;X&lt;/code&gt; and &lt;code&gt;Y&lt;/code&gt;. Suppose the full array has:&lt;/p&gt;</description></item><item><title>LeetCode MEDIUM 240 Search a 2D Matrix II Summary</title><link>https://ai-digest.derricklin.net/career/leetcode-medium-240-search-a-2d-matrix-ii-summary/</link><pubDate>Tue, 12 May 2026 00:00:00 +0000</pubDate><guid>https://ai-digest.derricklin.net/career/leetcode-medium-240-search-a-2d-matrix-ii-summary/</guid><description>&lt;p&gt;Generated by Codex with GPT-5&lt;/p&gt;
&lt;h2 id="quick-facts"&gt;Quick facts&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Difficulty: &lt;code&gt;MEDIUM&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Problem: &lt;a href="https://leetcode.com/problems/search-a-2d-matrix-ii/" target="_blank"&gt;Search a 2D Matrix II&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Topics: &lt;code&gt;Array&lt;/code&gt;, &lt;code&gt;Binary Search&lt;/code&gt;, &lt;code&gt;Divide and Conquer&lt;/code&gt;, &lt;code&gt;Matrix&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="problem-gist"&gt;Problem gist&lt;/h2&gt;
&lt;p&gt;The matrix is sorted in two directions at once. Every row is sorted from left to right, and every column is sorted from top to bottom. Given a target value, the task is to decide whether the target appears anywhere in the matrix.&lt;/p&gt;</description></item><item><title>LeetCode MEDIUM 279 Perfect Squares Summary</title><link>https://ai-digest.derricklin.net/career/leetcode-medium-279-perfect-squares-summary/</link><pubDate>Tue, 12 May 2026 00:00:00 +0000</pubDate><guid>https://ai-digest.derricklin.net/career/leetcode-medium-279-perfect-squares-summary/</guid><description>&lt;p&gt;Generated by Codex with GPT-5&lt;/p&gt;
&lt;h2 id="quick-facts"&gt;Quick facts&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Difficulty: &lt;code&gt;MEDIUM&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Problem: &lt;a href="https://leetcode.com/problems/perfect-squares/" target="_blank"&gt;Perfect Squares&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Topics: &lt;code&gt;Math&lt;/code&gt;, &lt;code&gt;Dynamic Programming&lt;/code&gt;, &lt;code&gt;Breadth-First Search&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="problem-gist"&gt;Problem gist&lt;/h2&gt;
&lt;p&gt;Given a positive integer &lt;code&gt;n&lt;/code&gt;, the task is to return the fewest perfect square numbers whose sum is exactly &lt;code&gt;n&lt;/code&gt;. A perfect square is a number such as &lt;code&gt;1&lt;/code&gt;, &lt;code&gt;4&lt;/code&gt;, &lt;code&gt;9&lt;/code&gt;, &lt;code&gt;16&lt;/code&gt;, and so on.&lt;/p&gt;</description></item><item><title>LeetCode MEDIUM 304 Range Sum Query 2D - Immutable Summary</title><link>https://ai-digest.derricklin.net/career/leetcode-medium-304-range-sum-query-2d---immutable-summary/</link><pubDate>Tue, 12 May 2026 00:00:00 +0000</pubDate><guid>https://ai-digest.derricklin.net/career/leetcode-medium-304-range-sum-query-2d---immutable-summary/</guid><description>&lt;p&gt;Generated by Codex with GPT-5&lt;/p&gt;
&lt;h2 id="quick-facts"&gt;Quick facts&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Difficulty: &lt;code&gt;MEDIUM&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Problem: &lt;a href="https://leetcode.com/problems/range-sum-query-2d-immutable/" target="_blank"&gt;Range Sum Query 2D - Immutable&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Topics: &lt;code&gt;Array&lt;/code&gt;, &lt;code&gt;Design&lt;/code&gt;, &lt;code&gt;Matrix&lt;/code&gt;, &lt;code&gt;Prefix Sum&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="problem-gist"&gt;Problem gist&lt;/h2&gt;
&lt;p&gt;The class receives a fixed 2D matrix and must answer many rectangle-sum queries. Each query gives the top-left cell &lt;code&gt;(row1, col1)&lt;/code&gt; and the bottom-right cell &lt;code&gt;(row2, col2)&lt;/code&gt;, and asks for the sum of every matrix value inside that inclusive rectangle.&lt;/p&gt;</description></item><item><title>LeetCode MEDIUM 981 Time Based Key-Value Store Summary</title><link>https://ai-digest.derricklin.net/career/leetcode-medium-981-time-based-key-value-store-summary/</link><pubDate>Tue, 12 May 2026 00:00:00 +0000</pubDate><guid>https://ai-digest.derricklin.net/career/leetcode-medium-981-time-based-key-value-store-summary/</guid><description>&lt;p&gt;Generated by Codex with GPT-5&lt;/p&gt;
&lt;h2 id="quick-facts"&gt;Quick facts&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Difficulty: &lt;code&gt;MEDIUM&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Problem: &lt;a href="https://leetcode.com/problems/time-based-key-value-store/" target="_blank"&gt;Time Based Key-Value Store&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Topics: &lt;code&gt;Hash Table&lt;/code&gt;, &lt;code&gt;String&lt;/code&gt;, &lt;code&gt;Binary Search&lt;/code&gt;, &lt;code&gt;Design&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="problem-gist"&gt;Problem gist&lt;/h2&gt;
&lt;p&gt;Design a key-value store that remembers history. A normal hash map answers &amp;ldquo;what is the current value for this key?&amp;rdquo; This problem asks &amp;ldquo;what was the value for this key at this timestamp?&amp;rdquo;&lt;/p&gt;</description></item><item><title>LeetCode MEDIUM 103 Binary Tree Zigzag Level Order Traversal Summary</title><link>https://ai-digest.derricklin.net/career/leetcode-medium-103-binary-tree-zigzag-level-order-traversal-summary/</link><pubDate>Mon, 11 May 2026 00:00:00 +0000</pubDate><guid>https://ai-digest.derricklin.net/career/leetcode-medium-103-binary-tree-zigzag-level-order-traversal-summary/</guid><description>&lt;p&gt;Generated by Codex with GPT-5&lt;/p&gt;
&lt;p&gt;Difficulty: MEDIUM&lt;br&gt;
Problem: &lt;a href="https://leetcode.com/problems/binary-tree-zigzag-level-order-traversal/" target="_blank"&gt;Binary Tree Zigzag Level Order Traversal&lt;/a&gt;&lt;/p&gt;
&lt;h2 id="problem-gist"&gt;Problem gist&lt;/h2&gt;
&lt;p&gt;The input is the root of a binary tree. The task is to return the node values level by level, but the direction alternates:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The root level is read from left to right.&lt;/li&gt;
&lt;li&gt;The next level is read from right to left.&lt;/li&gt;
&lt;li&gt;The next level flips back to left to right, and so on.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;For example, a tree with levels &lt;code&gt;[3]&lt;/code&gt;, &lt;code&gt;[9, 20]&lt;/code&gt;, and &lt;code&gt;[15, 7]&lt;/code&gt; should return three rows: &lt;code&gt;[3]&lt;/code&gt;, then &lt;code&gt;[20, 9]&lt;/code&gt;, then &lt;code&gt;[15, 7]&lt;/code&gt;.&lt;/p&gt;</description></item><item><title>LeetCode MEDIUM 153 Find Minimum in Rotated Sorted Array Summary</title><link>https://ai-digest.derricklin.net/career/leetcode-medium-153-find-minimum-in-rotated-sorted-array-summary/</link><pubDate>Mon, 11 May 2026 00:00:00 +0000</pubDate><guid>https://ai-digest.derricklin.net/career/leetcode-medium-153-find-minimum-in-rotated-sorted-array-summary/</guid><description>&lt;p&gt;Generated by Codex with GPT-5&lt;/p&gt;
&lt;h2 id="quick-facts"&gt;Quick facts&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Difficulty: &lt;code&gt;MEDIUM&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Problem: &lt;a href="https://leetcode.com/problems/find-minimum-in-rotated-sorted-array/" target="_blank"&gt;Find Minimum in Rotated Sorted Array&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Main tags: &lt;code&gt;Array&lt;/code&gt;, &lt;code&gt;Binary Search&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="what-the-problem-is-really-asking"&gt;What the problem is really asking&lt;/h2&gt;
&lt;p&gt;The input array was originally sorted in ascending order, then rotated. For example, &lt;code&gt;[0, 1, 2, 4, 5, 6, 7]&lt;/code&gt; might become &lt;code&gt;[4, 5, 6, 7, 0, 1, 2]&lt;/code&gt;.&lt;/p&gt;</description></item><item><title>LeetCode MEDIUM 179 Largest Number Summary</title><link>https://ai-digest.derricklin.net/career/leetcode-medium-179-largest-number-summary/</link><pubDate>Mon, 11 May 2026 00:00:00 +0000</pubDate><guid>https://ai-digest.derricklin.net/career/leetcode-medium-179-largest-number-summary/</guid><description>&lt;p&gt;Generated by Codex with GPT-5&lt;/p&gt;
&lt;h2 id="quick-facts"&gt;Quick facts&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Difficulty: &lt;code&gt;MEDIUM&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Problem: &lt;a href="https://leetcode.com/problems/largest-number/" target="_blank"&gt;Largest Number&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Main tags: &lt;code&gt;Array&lt;/code&gt;, &lt;code&gt;String&lt;/code&gt;, &lt;code&gt;Greedy&lt;/code&gt;, &lt;code&gt;Sorting&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="what-the-problem-is-really-asking"&gt;What the problem is really asking&lt;/h2&gt;
&lt;p&gt;The input is a list of non-negative integers. The task is to reorder them so that their decimal representations form the largest possible concatenated number, then return that number as a string.&lt;/p&gt;</description></item><item><title>LeetCode MEDIUM 209 Minimum Size Subarray Sum Summary</title><link>https://ai-digest.derricklin.net/career/leetcode-medium-209-minimum-size-subarray-sum-summary/</link><pubDate>Mon, 11 May 2026 00:00:00 +0000</pubDate><guid>https://ai-digest.derricklin.net/career/leetcode-medium-209-minimum-size-subarray-sum-summary/</guid><description>&lt;p&gt;Generated by Codex with GPT-5&lt;/p&gt;
&lt;h2 id="quick-facts"&gt;Quick facts&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Difficulty: &lt;code&gt;MEDIUM&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Problem: &lt;a href="https://leetcode.com/problems/minimum-size-subarray-sum/" target="_blank"&gt;Minimum Size Subarray Sum&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Topics: &lt;code&gt;Array&lt;/code&gt;, &lt;code&gt;Binary Search&lt;/code&gt;, &lt;code&gt;Sliding Window&lt;/code&gt;, &lt;code&gt;Prefix Sum&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="problem-gist"&gt;Problem gist&lt;/h2&gt;
&lt;p&gt;Given an array of positive integers &lt;code&gt;nums&lt;/code&gt; and a positive integer &lt;code&gt;target&lt;/code&gt;, find the shortest contiguous subarray whose sum is at least &lt;code&gt;target&lt;/code&gt;. If no such subarray exists, return &lt;code&gt;0&lt;/code&gt;.&lt;/p&gt;</description></item><item><title>LeetCode MEDIUM 99 Recover Binary Search Tree Summary</title><link>https://ai-digest.derricklin.net/career/leetcode-medium-99-recover-binary-search-tree-summary/</link><pubDate>Mon, 11 May 2026 00:00:00 +0000</pubDate><guid>https://ai-digest.derricklin.net/career/leetcode-medium-99-recover-binary-search-tree-summary/</guid><description>&lt;p&gt;Generated by Codex with GPT-5&lt;/p&gt;
&lt;h2 id="quick-facts"&gt;Quick facts&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Difficulty: &lt;code&gt;MEDIUM&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Problem: &lt;a href="https://leetcode.com/problems/recover-binary-search-tree/" target="_blank"&gt;Recover Binary Search Tree&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Main tags: &lt;code&gt;Tree&lt;/code&gt;, &lt;code&gt;Depth-First Search&lt;/code&gt;, &lt;code&gt;Binary Search Tree&lt;/code&gt;, &lt;code&gt;Binary Tree&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="problem-gist"&gt;Problem gist&lt;/h2&gt;
&lt;p&gt;A binary search tree should produce values in sorted order when walked with inorder traversal: left subtree, current node, then right subtree. In this problem, exactly two node values were swapped by mistake. The tree shape is still the same, but the values break the BST ordering rule.&lt;/p&gt;</description></item><item><title>LeetCode HARD 778 Swim in Rising Water Summary</title><link>https://ai-digest.derricklin.net/career/leetcode-hard-778-swim-in-rising-water-summary/</link><pubDate>Sun, 10 May 2026 00:00:00 +0000</pubDate><guid>https://ai-digest.derricklin.net/career/leetcode-hard-778-swim-in-rising-water-summary/</guid><description>&lt;p&gt;Generated by Codex with GPT-5&lt;/p&gt;
&lt;h2 id="quick-facts"&gt;Quick facts&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Difficulty: &lt;code&gt;HARD&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Problem: &lt;a href="https://leetcode.com/problems/swim-in-rising-water/" target="_blank"&gt;Swim in Rising Water&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Main tags: &lt;code&gt;Array&lt;/code&gt;, &lt;code&gt;Binary Search&lt;/code&gt;, &lt;code&gt;Depth-First Search&lt;/code&gt;, &lt;code&gt;Breadth-First Search&lt;/code&gt;, &lt;code&gt;Union-Find&lt;/code&gt;, &lt;code&gt;Heap (Priority Queue)&lt;/code&gt;, &lt;code&gt;Matrix&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="what-the-problem-is-really-asking"&gt;What the problem is really asking&lt;/h2&gt;
&lt;p&gt;The input is an &lt;code&gt;n x n&lt;/code&gt; grid of elevations. At time &lt;code&gt;t&lt;/code&gt;, the water level is also &lt;code&gt;t&lt;/code&gt;, and a cell is swimmable only if its elevation is at most &lt;code&gt;t&lt;/code&gt;.&lt;/p&gt;</description></item><item><title>LeetCode MEDIUM 1015 Smallest Integer Divisible by K Summary</title><link>https://ai-digest.derricklin.net/career/leetcode-medium-1015-smallest-integer-divisible-by-k-summary/</link><pubDate>Sun, 10 May 2026 00:00:00 +0000</pubDate><guid>https://ai-digest.derricklin.net/career/leetcode-medium-1015-smallest-integer-divisible-by-k-summary/</guid><description>&lt;p&gt;Generated by Codex with GPT-5&lt;/p&gt;
&lt;h2 id="quick-facts"&gt;Quick facts&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Difficulty: &lt;code&gt;MEDIUM&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Problem: &lt;a href="https://leetcode.com/problems/smallest-integer-divisible-by-k/" target="_blank"&gt;Smallest Integer Divisible by K&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Main tags: &lt;code&gt;Hash Table&lt;/code&gt;, &lt;code&gt;Math&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="what-the-problem-is-really-asking"&gt;What the problem is really asking&lt;/h2&gt;
&lt;p&gt;The input is a positive integer &lt;code&gt;k&lt;/code&gt;. The task is to find the length of the
smallest positive integer made only of the digit &lt;code&gt;1&lt;/code&gt; that is divisible by &lt;code&gt;k&lt;/code&gt;.&lt;/p&gt;</description></item><item><title>LeetCode MEDIUM 1838 Frequency of the Most Frequent Element Summary</title><link>https://ai-digest.derricklin.net/career/leetcode-medium-1838-frequency-of-the-most-frequent-element-summary/</link><pubDate>Sun, 10 May 2026 00:00:00 +0000</pubDate><guid>https://ai-digest.derricklin.net/career/leetcode-medium-1838-frequency-of-the-most-frequent-element-summary/</guid><description>&lt;p&gt;Generated by Codex with GPT-5&lt;/p&gt;
&lt;h2 id="quick-facts"&gt;Quick facts&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Difficulty: &lt;code&gt;MEDIUM&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Problem: &lt;a href="https://leetcode.com/problems/frequency-of-the-most-frequent-element/" target="_blank"&gt;Frequency of the Most Frequent Element&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Main tags: &lt;code&gt;Array&lt;/code&gt;, &lt;code&gt;Binary Search&lt;/code&gt;, &lt;code&gt;Greedy&lt;/code&gt;, &lt;code&gt;Sliding Window&lt;/code&gt;, &lt;code&gt;Sorting&lt;/code&gt;, &lt;code&gt;Prefix Sum&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="what-the-problem-is-really-asking"&gt;What the problem is really asking&lt;/h2&gt;
&lt;p&gt;Given an array of positive integers and a budget &lt;code&gt;k&lt;/code&gt;, one operation lets us increase one element by &lt;code&gt;1&lt;/code&gt;. The goal is to make some value appear as many times as possible after using at most &lt;code&gt;k&lt;/code&gt; total increments.&lt;/p&gt;</description></item><item><title>LeetCode MEDIUM 767 Reorganize String Summary</title><link>https://ai-digest.derricklin.net/career/leetcode-medium-767-reorganize-string-summary/</link><pubDate>Sun, 10 May 2026 00:00:00 +0000</pubDate><guid>https://ai-digest.derricklin.net/career/leetcode-medium-767-reorganize-string-summary/</guid><description>&lt;p&gt;Generated by Codex with GPT-5&lt;/p&gt;
&lt;h2 id="quick-facts"&gt;Quick facts&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Difficulty: &lt;code&gt;MEDIUM&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Problem: &lt;a href="https://leetcode.com/problems/reorganize-string/" target="_blank"&gt;Reorganize String&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Main tags: &lt;code&gt;Hash Table&lt;/code&gt;, &lt;code&gt;String&lt;/code&gt;, &lt;code&gt;Greedy&lt;/code&gt;, &lt;code&gt;Heap&lt;/code&gt;, &lt;code&gt;Counting&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="what-the-problem-is-really-asking"&gt;What the problem is really asking&lt;/h2&gt;
&lt;p&gt;The input is a string &lt;code&gt;s&lt;/code&gt;. The task is to rearrange its characters so that no
two adjacent characters are equal. If no such rearrangement exists, return the
empty string. Any valid rearrangement is accepted.&lt;/p&gt;</description></item><item><title>LeetCode HARD 135 Candy Summary</title><link>https://ai-digest.derricklin.net/career/leetcode-hard-135-candy-summary/</link><pubDate>Sat, 09 May 2026 00:00:00 +0000</pubDate><guid>https://ai-digest.derricklin.net/career/leetcode-hard-135-candy-summary/</guid><description>&lt;p&gt;Generated by Codex with GPT-5&lt;/p&gt;
&lt;h2 id="quick-facts"&gt;Quick facts&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Difficulty: &lt;code&gt;HARD&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Problem: &lt;a href="https://leetcode.com/problems/candy/" target="_blank"&gt;Candy&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Main tags: &lt;code&gt;Array&lt;/code&gt;, &lt;code&gt;Greedy&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="what-the-problem-is-really-asking"&gt;What the problem is really asking&lt;/h2&gt;
&lt;p&gt;There are children standing in a line. Each child has a rating, and the goal is to give out the fewest total candies while obeying two rules:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;every child gets at least one candy&lt;/li&gt;
&lt;li&gt;any child with a higher rating than an adjacent child must get more candies than that neighbor&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The important detail is that the comparison is only between neighbors. A child does not need more candy than every lower-rated child, only more than the children immediately to the left and right when their rating is higher.&lt;/p&gt;</description></item><item><title>LeetCode HARD 329 Longest Increasing Path in a Matrix Summary</title><link>https://ai-digest.derricklin.net/career/leetcode-hard-329-longest-increasing-path-in-a-matrix-summary/</link><pubDate>Sat, 09 May 2026 00:00:00 +0000</pubDate><guid>https://ai-digest.derricklin.net/career/leetcode-hard-329-longest-increasing-path-in-a-matrix-summary/</guid><description>&lt;p&gt;Generated by Codex with GPT-5&lt;/p&gt;
&lt;h2 id="quick-facts"&gt;Quick facts&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Difficulty: &lt;code&gt;HARD&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Problem: &lt;a href="https://leetcode.com/problems/longest-increasing-path-in-a-matrix/" target="_blank"&gt;Longest Increasing Path in a Matrix&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Main tags: &lt;code&gt;Array&lt;/code&gt;, &lt;code&gt;Dynamic Programming&lt;/code&gt;, &lt;code&gt;Depth-First Search&lt;/code&gt;, &lt;code&gt;Graph Theory&lt;/code&gt;, &lt;code&gt;Topological Sort&lt;/code&gt;, &lt;code&gt;Memoization&lt;/code&gt;, &lt;code&gt;Matrix&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="what-the-problem-is-really-asking"&gt;What the problem is really asking&lt;/h2&gt;
&lt;p&gt;The input is a grid of numbers. From any cell, a path may move only up, down, left, or right, and each move must go to a strictly larger value. The task is to return the maximum number of cells that can appear in any such path.&lt;/p&gt;</description></item><item><title>LeetCode MEDIUM 131 Palindrome Partitioning Summary</title><link>https://ai-digest.derricklin.net/career/leetcode-medium-131-palindrome-partitioning-summary/</link><pubDate>Sat, 09 May 2026 00:00:00 +0000</pubDate><guid>https://ai-digest.derricklin.net/career/leetcode-medium-131-palindrome-partitioning-summary/</guid><description>&lt;p&gt;Generated by Codex with GPT-5&lt;/p&gt;
&lt;p&gt;Difficulty: MEDIUM&lt;br&gt;
Problem: &lt;a href="https://leetcode.com/problems/palindrome-partitioning/" target="_blank"&gt;Palindrome Partitioning&lt;/a&gt;&lt;/p&gt;
&lt;h2 id="problem-gist"&gt;Problem gist&lt;/h2&gt;
&lt;p&gt;The input is a string &lt;code&gt;s&lt;/code&gt;. The task is to return every possible way to split &lt;code&gt;s&lt;/code&gt; into non-empty substrings such that every chosen substring is a palindrome.&lt;/p&gt;
&lt;p&gt;For example, &lt;code&gt;&amp;quot;aab&amp;quot;&lt;/code&gt; can be split as &lt;code&gt;[&amp;quot;a&amp;quot;, &amp;quot;a&amp;quot;, &amp;quot;b&amp;quot;]&lt;/code&gt; or &lt;code&gt;[&amp;quot;aa&amp;quot;, &amp;quot;b&amp;quot;]&lt;/code&gt;. Both are valid because every piece reads the same forward and backward. A split like &lt;code&gt;[&amp;quot;a&amp;quot;, &amp;quot;ab&amp;quot;]&lt;/code&gt; is invalid because &lt;code&gt;&amp;quot;ab&amp;quot;&lt;/code&gt; is not a palindrome.&lt;/p&gt;</description></item><item><title>LeetCode MEDIUM 636 Exclusive Time of Functions Summary</title><link>https://ai-digest.derricklin.net/career/leetcode-medium-636-exclusive-time-of-functions-summary/</link><pubDate>Sat, 09 May 2026 00:00:00 +0000</pubDate><guid>https://ai-digest.derricklin.net/career/leetcode-medium-636-exclusive-time-of-functions-summary/</guid><description>&lt;p&gt;Generated by Codex with GPT-5&lt;/p&gt;
&lt;h2 id="quick-facts"&gt;Quick facts&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Difficulty: &lt;code&gt;MEDIUM&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Problem: &lt;a href="https://leetcode.com/problems/exclusive-time-of-functions/" target="_blank"&gt;Exclusive Time of Functions&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Main tags: &lt;code&gt;Array&lt;/code&gt;, &lt;code&gt;Stack&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="what-the-problem-is-really-asking"&gt;What the problem is really asking&lt;/h2&gt;
&lt;p&gt;The input describes calls on a single-threaded CPU. Each log entry has a
function id, an event type, and a timestamp:&lt;/p&gt;
&lt;div class="code-block"&gt;
 &lt;button
 class="code-block-copy"
 type="button"
 data-copy-label="Copy"
 data-copied-label="Copied"
 aria-label="Copy code to clipboard"&gt;Copy&lt;/button&gt;
 &lt;pre tabindex="0" class="code-block-source language-text" data-lang="text"&gt;&lt;code class="language-text" data-lang="text"&gt;function_id:start_or_end:timestamp&lt;/code&gt;&lt;/pre&gt;
 &lt;/div&gt;&lt;p&gt;A function can call another function before it finishes. While the child
function runs, the parent is paused. The goal is to return, for every function
id, how much time that function spent actually executing, excluding time spent
inside child calls.&lt;/p&gt;</description></item><item><title>LeetCode HARD 843 Guess the Word Summary</title><link>https://ai-digest.derricklin.net/career/leetcode-hard-843-guess-the-word-summary/</link><pubDate>Fri, 08 May 2026 00:00:00 +0000</pubDate><guid>https://ai-digest.derricklin.net/career/leetcode-hard-843-guess-the-word-summary/</guid><description>&lt;p&gt;Generated by Codex with GPT-5&lt;/p&gt;
&lt;p&gt;Difficulty: HARD&lt;/p&gt;
&lt;p&gt;Problem: &lt;a href="https://leetcode.com/problems/guess-the-word/" target="_blank"&gt;Guess the Word&lt;/a&gt;&lt;/p&gt;
&lt;h2 id="problem-gist"&gt;Problem gist&lt;/h2&gt;
&lt;p&gt;This is an interactive guessing problem. There is a hidden six-letter word inside the given list, and the only way to learn about it is to call &lt;code&gt;master.guess(word)&lt;/code&gt;. The API returns how many positions match the secret exactly. For example, if the guess and secret have the same letter in positions 0, 2, and 5, the response is &lt;code&gt;3&lt;/code&gt;.&lt;/p&gt;</description></item><item><title>LeetCode MEDIUM 79 Word Search Summary</title><link>https://ai-digest.derricklin.net/career/leetcode-medium-79-word-search-summary/</link><pubDate>Fri, 08 May 2026 00:00:00 +0000</pubDate><guid>https://ai-digest.derricklin.net/career/leetcode-medium-79-word-search-summary/</guid><description>&lt;p&gt;Generated by Codex with GPT-5&lt;/p&gt;
&lt;p&gt;Difficulty: MEDIUM&lt;/p&gt;
&lt;p&gt;Problem: &lt;a href="https://leetcode.com/problems/word-search/" target="_blank"&gt;Word Search&lt;/a&gt;&lt;/p&gt;
&lt;h2 id="problem-gist"&gt;Problem gist&lt;/h2&gt;
&lt;p&gt;The problem gives a 2D grid of characters and a target word. The task is to decide whether the word can be formed by walking through adjacent grid cells. Each step may move up, down, left, or right, and the same cell cannot be used twice in the same word path.&lt;/p&gt;</description></item><item><title>LeetCode MEDIUM 80 Remove Duplicates from Sorted Array II Summary</title><link>https://ai-digest.derricklin.net/career/leetcode-medium-80-remove-duplicates-from-sorted-array-ii-summary/</link><pubDate>Fri, 08 May 2026 00:00:00 +0000</pubDate><guid>https://ai-digest.derricklin.net/career/leetcode-medium-80-remove-duplicates-from-sorted-array-ii-summary/</guid><description>&lt;p&gt;Generated by Codex with GPT-5&lt;/p&gt;
&lt;p&gt;Difficulty: MEDIUM&lt;/p&gt;
&lt;p&gt;Problem: &lt;a href="https://leetcode.com/problems/remove-duplicates-from-sorted-array-ii/" target="_blank"&gt;Remove Duplicates from Sorted Array II&lt;/a&gt;&lt;/p&gt;
&lt;h2 id="problem-gist"&gt;Problem gist&lt;/h2&gt;
&lt;p&gt;The input is a sorted array &lt;code&gt;nums&lt;/code&gt;. The task is to modify it in place so every distinct value appears at most two times, while keeping the original relative order of the remaining values. The function returns &lt;code&gt;k&lt;/code&gt;, the length of the valid prefix. Anything after index &lt;code&gt;k - 1&lt;/code&gt; does not matter.&lt;/p&gt;</description></item><item><title>LeetCode MEDIUM 974 Subarray Sums Divisible by K Summary</title><link>https://ai-digest.derricklin.net/career/leetcode-medium-974-subarray-sums-divisible-by-k-summary/</link><pubDate>Fri, 08 May 2026 00:00:00 +0000</pubDate><guid>https://ai-digest.derricklin.net/career/leetcode-medium-974-subarray-sums-divisible-by-k-summary/</guid><description>&lt;p&gt;Generated by Codex with GPT-5&lt;/p&gt;
&lt;h2 id="quick-facts"&gt;Quick facts&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Difficulty: &lt;code&gt;MEDIUM&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Problem: &lt;a href="https://leetcode.com/problems/subarray-sums-divisible-by-k/" target="_blank"&gt;Subarray Sums Divisible by K&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Main tags: &lt;code&gt;Array&lt;/code&gt;, &lt;code&gt;Hash Table&lt;/code&gt;, &lt;code&gt;Prefix Sum&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="what-the-problem-is-asking"&gt;What the problem is asking&lt;/h2&gt;
&lt;p&gt;Given an integer array &lt;code&gt;nums&lt;/code&gt; and an integer &lt;code&gt;k&lt;/code&gt;, count how many contiguous subarrays have a sum divisible by &lt;code&gt;k&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;The word &amp;ldquo;contiguous&amp;rdquo; is the key constraint. A valid answer must count ranges like &lt;code&gt;nums[left:right + 1]&lt;/code&gt;, not arbitrary subsets. The same element can participate in many different subarrays, and overlapping ranges are counted separately.&lt;/p&gt;</description></item><item><title>LeetCode MEDIUM 1101 The Earliest Moment When Everyone Become Friends Summary</title><link>https://ai-digest.derricklin.net/career/leetcode-medium-1101-the-earliest-moment-when-everyone-become-friends-summary/</link><pubDate>Thu, 07 May 2026 00:00:00 +0000</pubDate><guid>https://ai-digest.derricklin.net/career/leetcode-medium-1101-the-earliest-moment-when-everyone-become-friends-summary/</guid><description>&lt;p&gt;Generated by Codex with GPT-5&lt;/p&gt;
&lt;h2 id="quick-facts"&gt;Quick facts&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Difficulty: &lt;code&gt;MEDIUM&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Problem: &lt;a href="https://leetcode.com/problems/the-earliest-moment-when-everyone-become-friends/" target="_blank"&gt;The Earliest Moment When Everyone Become Friends&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Main tags: &lt;code&gt;Array&lt;/code&gt;, &lt;code&gt;Union-Find&lt;/code&gt;, &lt;code&gt;Sorting&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="what-the-problem-is-really-asking"&gt;What the problem is really asking&lt;/h2&gt;
&lt;p&gt;There are &lt;code&gt;n&lt;/code&gt; people labeled from &lt;code&gt;0&lt;/code&gt; to &lt;code&gt;n - 1&lt;/code&gt;. The input is a list of friendship events. Each event has a timestamp and two people, meaning those two people become direct friends at that moment.&lt;/p&gt;</description></item><item><title>LeetCode MEDIUM 210 Course Schedule II Summary</title><link>https://ai-digest.derricklin.net/career/leetcode-medium-210-course-schedule-ii-summary/</link><pubDate>Thu, 07 May 2026 00:00:00 +0000</pubDate><guid>https://ai-digest.derricklin.net/career/leetcode-medium-210-course-schedule-ii-summary/</guid><description>&lt;p&gt;Generated by Codex with GPT-5&lt;/p&gt;
&lt;h2 id="quick-facts"&gt;Quick facts&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Difficulty: &lt;code&gt;MEDIUM&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Problem: &lt;a href="https://leetcode.com/problems/course-schedule-ii/" target="_blank"&gt;Course Schedule II&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Main tags: &lt;code&gt;Depth-First Search&lt;/code&gt;, &lt;code&gt;Breadth-First Search&lt;/code&gt;, &lt;code&gt;Graph Theory&lt;/code&gt;, &lt;code&gt;Topological Sort&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="what-the-problem-is-really-asking"&gt;What the problem is really asking&lt;/h2&gt;
&lt;p&gt;There are &lt;code&gt;numCourses&lt;/code&gt; courses labeled from &lt;code&gt;0&lt;/code&gt; to &lt;code&gt;numCourses - 1&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Each prerequisite pair &lt;code&gt;[course, prerequisite]&lt;/code&gt; means the prerequisite must be taken before the course. The task is to return any valid order that takes every course, or return an empty list when no such order exists.&lt;/p&gt;</description></item><item><title>LeetCode MEDIUM 503 Next Greater Element II Summary</title><link>https://ai-digest.derricklin.net/career/leetcode-medium-503-next-greater-element-ii-summary/</link><pubDate>Thu, 07 May 2026 00:00:00 +0000</pubDate><guid>https://ai-digest.derricklin.net/career/leetcode-medium-503-next-greater-element-ii-summary/</guid><description>&lt;p&gt;Generated by Codex with GPT-5&lt;/p&gt;
&lt;h2 id="quick-facts"&gt;Quick facts&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Difficulty: &lt;code&gt;MEDIUM&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Problem: &lt;a href="https://leetcode.com/problems/next-greater-element-ii/" target="_blank"&gt;Next Greater Element II&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Main tags: &lt;code&gt;Array&lt;/code&gt;, &lt;code&gt;Stack&lt;/code&gt;, &lt;code&gt;Monotonic Stack&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="what-the-problem-is-really-asking"&gt;What the problem is really asking&lt;/h2&gt;
&lt;p&gt;The input is an integer array &lt;code&gt;nums&lt;/code&gt;, but the array is circular. After the last index, the scan wraps back to index &lt;code&gt;0&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;For each index &lt;code&gt;i&lt;/code&gt;, the task is to find the first value that is strictly greater than &lt;code&gt;nums[i]&lt;/code&gt; when walking forward through this circular array. If no greater value appears before returning to &lt;code&gt;i&lt;/code&gt;, the answer for that index is &lt;code&gt;-1&lt;/code&gt;.&lt;/p&gt;</description></item><item><title>LeetCode MEDIUM 777 Swap Adjacent in LR String Summary</title><link>https://ai-digest.derricklin.net/career/leetcode-medium-777-swap-adjacent-in-lr-string-summary/</link><pubDate>Thu, 07 May 2026 00:00:00 +0000</pubDate><guid>https://ai-digest.derricklin.net/career/leetcode-medium-777-swap-adjacent-in-lr-string-summary/</guid><description>&lt;p&gt;Generated by Codex with GPT-5&lt;/p&gt;
&lt;p&gt;Difficulty: MEDIUM&lt;br&gt;
Problem: &lt;a href="https://leetcode.com/problems/swap-adjacent-in-lr-string/" target="_blank"&gt;Swap Adjacent in LR String&lt;/a&gt;&lt;/p&gt;
&lt;h2 id="problem-gist"&gt;Problem gist&lt;/h2&gt;
&lt;p&gt;The string contains three characters: &lt;code&gt;L&lt;/code&gt;, &lt;code&gt;R&lt;/code&gt;, and &lt;code&gt;X&lt;/code&gt;. Think of &lt;code&gt;X&lt;/code&gt; as an empty space. The only allowed moves are:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;code&gt;XL -&amp;gt; LX&lt;/code&gt;, which moves an &lt;code&gt;L&lt;/code&gt; one position to the left.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;RX -&amp;gt; XR&lt;/code&gt;, which moves an &lt;code&gt;R&lt;/code&gt; one position to the right.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Given &lt;code&gt;start&lt;/code&gt; and &lt;code&gt;end&lt;/code&gt;, the task is to decide whether &lt;code&gt;start&lt;/code&gt; can become &lt;code&gt;end&lt;/code&gt; after any number of those moves.&lt;/p&gt;</description></item><item><title>LeetCode MEDIUM 122 Best Time to Buy and Sell Stock II Summary</title><link>https://ai-digest.derricklin.net/career/leetcode-medium-122-best-time-to-buy-and-sell-stock-ii-summary/</link><pubDate>Wed, 06 May 2026 00:00:00 +0000</pubDate><guid>https://ai-digest.derricklin.net/career/leetcode-medium-122-best-time-to-buy-and-sell-stock-ii-summary/</guid><description>&lt;p&gt;Generated by Codex with GPT-5&lt;/p&gt;
&lt;p&gt;Difficulty: MEDIUM&lt;br&gt;
Problem: &lt;a href="https://leetcode.com/problems/best-time-to-buy-and-sell-stock-ii/" target="_blank"&gt;Best Time to Buy and Sell Stock II&lt;/a&gt;&lt;/p&gt;
&lt;h2 id="problem-gist"&gt;Problem gist&lt;/h2&gt;
&lt;p&gt;The input is a list of stock prices where &lt;code&gt;prices[i]&lt;/code&gt; is the price on day &lt;code&gt;i&lt;/code&gt;. The goal is to make as much profit as possible by buying and selling any number of times.&lt;/p&gt;</description></item><item><title>LeetCode MEDIUM 139 Word Break Summary</title><link>https://ai-digest.derricklin.net/career/leetcode-medium-139-word-break-summary/</link><pubDate>Wed, 06 May 2026 00:00:00 +0000</pubDate><guid>https://ai-digest.derricklin.net/career/leetcode-medium-139-word-break-summary/</guid><description>&lt;p&gt;Generated by Codex with GPT-5&lt;/p&gt;
&lt;h2 id="quick-facts"&gt;Quick facts&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Difficulty: &lt;code&gt;MEDIUM&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Problem: &lt;a href="https://leetcode.com/problems/word-break/" target="_blank"&gt;Word Break&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Main tags: &lt;code&gt;String&lt;/code&gt;, &lt;code&gt;Hash Table&lt;/code&gt;, &lt;code&gt;Dynamic Programming&lt;/code&gt;, &lt;code&gt;Trie&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="what-the-problem-is-really-asking"&gt;What the problem is really asking&lt;/h2&gt;
&lt;p&gt;The input is a string &lt;code&gt;s&lt;/code&gt; and a dictionary of valid words. The task is to decide whether &lt;code&gt;s&lt;/code&gt; can be split into one or more dictionary words. Words may be reused, so the question is not about consuming the dictionary; it is about whether every character in the string can be covered by valid dictionary chunks.&lt;/p&gt;</description></item><item><title>LeetCode MEDIUM 799 Champagne Tower Summary</title><link>https://ai-digest.derricklin.net/career/leetcode-medium-799-champagne-tower-summary/</link><pubDate>Wed, 06 May 2026 00:00:00 +0000</pubDate><guid>https://ai-digest.derricklin.net/career/leetcode-medium-799-champagne-tower-summary/</guid><description>&lt;p&gt;Generated by Codex with GPT-5&lt;/p&gt;
&lt;p&gt;Difficulty: MEDIUM&lt;br&gt;
Problem: &lt;a href="https://leetcode.com/problems/champagne-tower/" target="_blank"&gt;Champagne Tower&lt;/a&gt;&lt;/p&gt;
&lt;h2 id="problem-gist"&gt;Problem gist&lt;/h2&gt;
&lt;p&gt;A tower of glasses is stacked in rows. Row &lt;code&gt;0&lt;/code&gt; has one glass, row &lt;code&gt;1&lt;/code&gt; has two glasses, and so on. Each glass can hold exactly one cup. If a glass receives more than one cup, the extra amount spills equally into the two glasses directly below it.&lt;/p&gt;</description></item><item><title>LeetCode MEDIUM 739 Daily Temperatures Summary</title><link>https://ai-digest.derricklin.net/career/leetcode-medium-739-daily-temperatures-summary/</link><pubDate>Tue, 05 May 2026 00:00:00 +0000</pubDate><guid>https://ai-digest.derricklin.net/career/leetcode-medium-739-daily-temperatures-summary/</guid><description>&lt;p&gt;Generated by Codex with GPT-5&lt;/p&gt;
&lt;p&gt;Difficulty: MEDIUM&lt;/p&gt;
&lt;p&gt;Problem: &lt;a href="https://leetcode.com/problems/daily-temperatures/" target="_blank"&gt;Daily Temperatures&lt;/a&gt;&lt;/p&gt;
&lt;h2 id="problem-gist"&gt;Problem gist&lt;/h2&gt;
&lt;p&gt;Given a list of daily temperatures, return a new list where each position says how many days must pass before a strictly warmer temperature appears. If no warmer future day exists, that position should be &lt;code&gt;0&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;For example, if the temperatures are:&lt;/p&gt;</description></item><item><title>LeetCode MEDIUM 743 Network Delay Time Summary</title><link>https://ai-digest.derricklin.net/career/leetcode-medium-743-network-delay-time-summary/</link><pubDate>Tue, 05 May 2026 00:00:00 +0000</pubDate><guid>https://ai-digest.derricklin.net/career/leetcode-medium-743-network-delay-time-summary/</guid><description>&lt;p&gt;Generated by Codex with GPT-5&lt;/p&gt;
&lt;p&gt;Difficulty: MEDIUM&lt;br&gt;
Problem: &lt;a href="https://leetcode.com/problems/network-delay-time/" target="_blank"&gt;Network Delay Time&lt;/a&gt;&lt;/p&gt;
&lt;h2 id="problem-gist"&gt;Problem gist&lt;/h2&gt;
&lt;p&gt;The input describes a directed, weighted graph. Each edge &lt;code&gt;u -&amp;gt; v&lt;/code&gt; has a travel time &lt;code&gt;w&lt;/code&gt;, and a signal starts at node &lt;code&gt;k&lt;/code&gt;. The task is to return how long it takes until every node receives the signal. If some node can never receive it, return &lt;code&gt;-1&lt;/code&gt;.&lt;/p&gt;</description></item><item><title>LeetCode MEDIUM 249 Group Shifted Strings Summary</title><link>https://ai-digest.derricklin.net/career/leetcode-medium-249-group-shifted-strings-summary/</link><pubDate>Mon, 04 May 2026 00:00:00 +0000</pubDate><guid>https://ai-digest.derricklin.net/career/leetcode-medium-249-group-shifted-strings-summary/</guid><description>&lt;p&gt;Generated by Codex with GPT-5&lt;/p&gt;
&lt;p&gt;Difficulty: MEDIUM&lt;/p&gt;
&lt;p&gt;Problem: &lt;a href="https://leetcode.com/problems/group-shifted-strings/" target="_blank"&gt;Group Shifted Strings&lt;/a&gt;&lt;/p&gt;
&lt;h2 id="problem-gist"&gt;Problem gist&lt;/h2&gt;
&lt;p&gt;Each string can be shifted forward through the alphabet, wrapping from &lt;code&gt;z&lt;/code&gt; to &lt;code&gt;a&lt;/code&gt;. For example, shifting &lt;code&gt;&amp;quot;abc&amp;quot;&lt;/code&gt; once gives &lt;code&gt;&amp;quot;bcd&amp;quot;&lt;/code&gt;, and shifting &lt;code&gt;&amp;quot;az&amp;quot;&lt;/code&gt; once gives &lt;code&gt;&amp;quot;ba&amp;quot;&lt;/code&gt;. The task is to group strings that can become each other by applying the same shift amount to every character.&lt;/p&gt;</description></item><item><title>LeetCode MEDIUM 528 Random Pick with Weight Summary</title><link>https://ai-digest.derricklin.net/career/leetcode-medium-528-random-pick-with-weight-summary/</link><pubDate>Mon, 04 May 2026 00:00:00 +0000</pubDate><guid>https://ai-digest.derricklin.net/career/leetcode-medium-528-random-pick-with-weight-summary/</guid><description>&lt;p&gt;Generated by Codex with GPT-5&lt;/p&gt;
&lt;h2 id="quick-facts"&gt;Quick facts&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Difficulty: &lt;code&gt;MEDIUM&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Problem: &lt;a href="https://leetcode.com/problems/random-pick-with-weight/" target="_blank"&gt;Random Pick with Weight&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Main tags: &lt;code&gt;Array&lt;/code&gt;, &lt;code&gt;Prefix Sum&lt;/code&gt;, &lt;code&gt;Binary Search&lt;/code&gt;, &lt;code&gt;Randomized&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="what-the-problem-is-really-asking"&gt;What the problem is really asking&lt;/h2&gt;
&lt;p&gt;The class receives an array of positive weights, where &lt;code&gt;w[i]&lt;/code&gt; describes how likely index &lt;code&gt;i&lt;/code&gt; should be picked. Calling &lt;code&gt;pickIndex()&lt;/code&gt; should return one index at random, but not uniformly. Index &lt;code&gt;i&lt;/code&gt; should be returned with probability:&lt;/p&gt;</description></item><item><title>LeetCode MEDIUM 151 Reverse Words in a String Summary</title><link>https://ai-digest.derricklin.net/career/leetcode-medium-151-reverse-words-in-a-string-summary/</link><pubDate>Sun, 03 May 2026 00:00:00 +0000</pubDate><guid>https://ai-digest.derricklin.net/career/leetcode-medium-151-reverse-words-in-a-string-summary/</guid><description>&lt;p&gt;Generated by Codex with GPT-5&lt;/p&gt;
&lt;p&gt;Difficulty: MEDIUM&lt;br&gt;
Problem: &lt;a href="https://leetcode.com/problems/reverse-words-in-a-string/" target="_blank"&gt;Reverse Words in a String&lt;/a&gt;&lt;/p&gt;
&lt;h2 id="problem-gist"&gt;Problem gist&lt;/h2&gt;
&lt;p&gt;The input is a string that contains words separated by spaces. The output should contain the same words in reverse order, with exactly one space between adjacent words and no leading or trailing spaces.&lt;/p&gt;
&lt;p&gt;The important detail is that the function is not reversing letters inside each word. It is reversing the sequence of words. For example, the words &lt;code&gt;[&amp;quot;the&amp;quot;, &amp;quot;sky&amp;quot;, &amp;quot;is&amp;quot;, &amp;quot;blue&amp;quot;]&lt;/code&gt; become &lt;code&gt;[&amp;quot;blue&amp;quot;, &amp;quot;is&amp;quot;, &amp;quot;sky&amp;quot;, &amp;quot;the&amp;quot;]&lt;/code&gt;.&lt;/p&gt;</description></item><item><title>LeetCode MEDIUM 236 Lowest Common Ancestor of a Binary Tree Summary</title><link>https://ai-digest.derricklin.net/career/leetcode-medium-236-lowest-common-ancestor-of-a-binary-tree-summary/</link><pubDate>Sun, 03 May 2026 00:00:00 +0000</pubDate><guid>https://ai-digest.derricklin.net/career/leetcode-medium-236-lowest-common-ancestor-of-a-binary-tree-summary/</guid><description>&lt;p&gt;Generated by Codex with GPT-5&lt;/p&gt;
&lt;p&gt;Difficulty: MEDIUM&lt;br&gt;
Problem: &lt;a href="https://leetcode.com/problems/lowest-common-ancestor-of-a-binary-tree/" target="_blank"&gt;Lowest Common Ancestor of a Binary Tree&lt;/a&gt;&lt;/p&gt;
&lt;h2 id="problem-gist"&gt;Problem gist&lt;/h2&gt;
&lt;p&gt;Given the root of a binary tree and two existing nodes &lt;code&gt;p&lt;/code&gt; and &lt;code&gt;q&lt;/code&gt;, return their lowest common ancestor.&lt;/p&gt;
&lt;p&gt;An ancestor can be the node itself. That detail matters: if &lt;code&gt;p&lt;/code&gt; is above &lt;code&gt;q&lt;/code&gt;, then &lt;code&gt;p&lt;/code&gt; is the answer. &amp;ldquo;Lowest&amp;rdquo; means deepest in the tree, not smallest by value. This is a normal binary tree, so there is no useful ordering rule like there would be in a binary search tree.&lt;/p&gt;</description></item><item><title>LeetCode HARD 127 Word Ladder Summary</title><link>https://ai-digest.derricklin.net/career/leetcode-hard-127-word-ladder-summary/</link><pubDate>Sat, 02 May 2026 00:00:00 +0000</pubDate><guid>https://ai-digest.derricklin.net/career/leetcode-hard-127-word-ladder-summary/</guid><description>&lt;p&gt;Generated by Codex with GPT-5&lt;/p&gt;
&lt;h2 id="quick-facts"&gt;Quick facts&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Difficulty: &lt;code&gt;HARD&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Problem: &lt;a href="https://leetcode.com/problems/word-ladder/" target="_blank"&gt;Word Ladder&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Main tags: &lt;code&gt;Breadth-First Search&lt;/code&gt;, &lt;code&gt;Hash Table&lt;/code&gt;, &lt;code&gt;String&lt;/code&gt;, &lt;code&gt;Graph&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="what-the-problem-is-really-asking"&gt;What the problem is really asking&lt;/h2&gt;
&lt;p&gt;The input gives a &lt;code&gt;beginWord&lt;/code&gt;, an &lt;code&gt;endWord&lt;/code&gt;, and a dictionary called &lt;code&gt;wordList&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Each move can change exactly one letter, and every intermediate word must appear in &lt;code&gt;wordList&lt;/code&gt;. The task is to return the number of words in the shortest valid transformation sequence from &lt;code&gt;beginWord&lt;/code&gt; to &lt;code&gt;endWord&lt;/code&gt;. If no such sequence exists, return &lt;code&gt;0&lt;/code&gt;.&lt;/p&gt;</description></item><item><title>LeetCode MEDIUM 380 Insert Delete GetRandom O(1) Summary</title><link>https://ai-digest.derricklin.net/career/leetcode-medium-380-insert-delete-getrandom-o1-summary/</link><pubDate>Fri, 01 May 2026 00:00:00 +0000</pubDate><guid>https://ai-digest.derricklin.net/career/leetcode-medium-380-insert-delete-getrandom-o1-summary/</guid><description>&lt;p&gt;Generated by Codex with GPT-5&lt;/p&gt;
&lt;h2 id="quick-facts"&gt;Quick facts&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Difficulty: &lt;code&gt;MEDIUM&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Problem: &lt;a href="https://leetcode.com/problems/insert-delete-getrandom-o1/" target="_blank"&gt;Insert Delete GetRandom O(1)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Main tags: &lt;code&gt;Array&lt;/code&gt;, &lt;code&gt;Hash Table&lt;/code&gt;, &lt;code&gt;Math&lt;/code&gt;, &lt;code&gt;Design&lt;/code&gt;, &lt;code&gt;Randomized&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="what-the-problem-is-really-asking"&gt;What the problem is really asking&lt;/h2&gt;
&lt;p&gt;The task is to design a set-like data structure with three operations:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;insert(val)&lt;/code&gt; adds a value only if it is not already present.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;remove(val)&lt;/code&gt; deletes a value only if it is present.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;getRandom()&lt;/code&gt; returns one currently stored value, with every stored value equally likely.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The important constraint is that all three operations should run in average &lt;code&gt;O(1)&lt;/code&gt; time.&lt;/p&gt;</description></item><item><title>LeetCode HARD 224 Basic Calculator Summary</title><link>https://ai-digest.derricklin.net/career/leetcode-hard-224-basic-calculator-summary/</link><pubDate>Thu, 30 Apr 2026 00:00:00 +0000</pubDate><guid>https://ai-digest.derricklin.net/career/leetcode-hard-224-basic-calculator-summary/</guid><description>&lt;p&gt;Generated by Codex with GPT-5&lt;/p&gt;
&lt;h2 id="quick-facts"&gt;Quick facts&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Difficulty: &lt;code&gt;HARD&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Problem: &lt;a href="https://leetcode.com/problems/basic-calculator/" target="_blank"&gt;Basic Calculator&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Main tags: &lt;code&gt;Math&lt;/code&gt;, &lt;code&gt;String&lt;/code&gt;, &lt;code&gt;Stack&lt;/code&gt;, &lt;code&gt;Recursion&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="what-the-problem-is-really-asking"&gt;What the problem is really asking&lt;/h2&gt;
&lt;p&gt;The input is a string expression that contains non-negative integers, &lt;code&gt;+&lt;/code&gt;, &lt;code&gt;-&lt;/code&gt;, parentheses, and spaces. The task is to return the final numeric value without using Python&amp;rsquo;s built-in expression evaluator.&lt;/p&gt;</description></item><item><title>LeetCode MEDIUM 155 Min Stack Summary</title><link>https://ai-digest.derricklin.net/career/leetcode-medium-155-min-stack-summary/</link><pubDate>Wed, 29 Apr 2026 00:00:00 +0000</pubDate><guid>https://ai-digest.derricklin.net/career/leetcode-medium-155-min-stack-summary/</guid><description>&lt;p&gt;Generated by Codex with GPT-5&lt;/p&gt;
&lt;h2 id="quick-facts"&gt;Quick facts&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Difficulty: &lt;code&gt;MEDIUM&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Problem: &lt;a href="https://leetcode.com/problems/min-stack/" target="_blank"&gt;Min Stack&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Main tags: &lt;code&gt;Stack&lt;/code&gt;, &lt;code&gt;Design&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="what-the-problem-is-really-asking"&gt;What the problem is really asking&lt;/h2&gt;
&lt;p&gt;The API looks simple: &lt;code&gt;push&lt;/code&gt;, &lt;code&gt;pop&lt;/code&gt;, &lt;code&gt;top&lt;/code&gt;, and &lt;code&gt;getMin&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;The real requirement is hidden in &lt;code&gt;getMin&lt;/code&gt;: it must return the current minimum in constant time, not by scanning the whole stack.&lt;/p&gt;</description></item><item><title>LeetCode MEDIUM 102 Binary Tree Level Order Traversal Summary</title><link>https://ai-digest.derricklin.net/career/leetcode-medium-102-binary-tree-level-order-traversal-summary/</link><pubDate>Tue, 28 Apr 2026 00:00:00 +0000</pubDate><guid>https://ai-digest.derricklin.net/career/leetcode-medium-102-binary-tree-level-order-traversal-summary/</guid><description>&lt;p&gt;Generated by Codex with GPT-5&lt;/p&gt;
&lt;h2 id="quick-facts"&gt;Quick facts&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Difficulty: &lt;code&gt;MEDIUM&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Problem: &lt;a href="https://leetcode.com/problems/binary-tree-level-order-traversal/" target="_blank"&gt;Binary Tree Level Order Traversal&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Main tags: &lt;code&gt;Tree&lt;/code&gt;, &lt;code&gt;Breadth-First Search&lt;/code&gt;, &lt;code&gt;Binary Tree&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="what-the-problem-is-really-asking"&gt;What the problem is really asking&lt;/h2&gt;
&lt;p&gt;The task is to read a binary tree one layer at a time.&lt;/p&gt;
&lt;p&gt;Instead of visiting nodes in a depth-first order such as root, left subtree, right subtree, the problem wants the tree grouped by depth:&lt;/p&gt;</description></item><item><title>LeetCode MEDIUM 3453 Separate Squares I Summary</title><link>https://ai-digest.derricklin.net/career/leetcode-medium-3453-separate-squares-i-summary/</link><pubDate>Mon, 27 Apr 2026 00:00:00 +0000</pubDate><guid>https://ai-digest.derricklin.net/career/leetcode-medium-3453-separate-squares-i-summary/</guid><description>&lt;p&gt;Generated by Codex with GPT-5&lt;/p&gt;
&lt;h2 id="quick-facts"&gt;Quick facts&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Difficulty: &lt;code&gt;MEDIUM&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Problem: &lt;a href="https://leetcode.com/problems/separate-squares-i/" target="_blank"&gt;Separate Squares I&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Main tags: &lt;code&gt;Array&lt;/code&gt;, &lt;code&gt;Binary Search&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="what-the-problem-is-really-asking"&gt;What the problem is really asking&lt;/h2&gt;
&lt;p&gt;This problem looks geometric, but the core idea is much simpler than it first appears.&lt;/p&gt;
&lt;p&gt;The task is to place a horizontal line &lt;code&gt;y = cut&lt;/code&gt; so that:&lt;/p&gt;</description></item><item><title>LeetCode MEDIUM 518 Coin Change II Summary</title><link>https://ai-digest.derricklin.net/career/leetcode-medium-518-coin-change-ii-summary/</link><pubDate>Sun, 26 Apr 2026 00:00:00 +0000</pubDate><guid>https://ai-digest.derricklin.net/career/leetcode-medium-518-coin-change-ii-summary/</guid><description>&lt;p&gt;Generated by Codex with GPT-5&lt;/p&gt;
&lt;h2 id="quick-facts"&gt;Quick facts&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Difficulty: &lt;code&gt;MEDIUM&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Problem: &lt;a href="https://leetcode.com/problems/coin-change-ii/" target="_blank"&gt;Coin Change II&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Main tags: &lt;code&gt;Array&lt;/code&gt;, &lt;code&gt;Dynamic Programming&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="what-the-problem-is-really-asking"&gt;What the problem is really asking&lt;/h2&gt;
&lt;p&gt;The input gives a target amount and a list of coin denominations. Each denomination can be used as many times as needed.&lt;/p&gt;
&lt;p&gt;The task is to count how many distinct combinations can make the amount exactly. It is not asking for the minimum number of coins, and it is not asking whether the amount is possible at all.&lt;/p&gt;</description></item><item><title>LeetCode MEDIUM 322 Coin Change Summary</title><link>https://ai-digest.derricklin.net/career/leetcode-medium-322-coin-change-summary/</link><pubDate>Sat, 25 Apr 2026 00:00:00 +0000</pubDate><guid>https://ai-digest.derricklin.net/career/leetcode-medium-322-coin-change-summary/</guid><description>&lt;p&gt;Generated by Codex with GPT-5&lt;/p&gt;
&lt;h2 id="quick-facts"&gt;Quick facts&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Difficulty: &lt;code&gt;MEDIUM&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Problem: &lt;a href="https://leetcode.com/problems/coin-change/" target="_blank"&gt;Coin Change&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Main tags: &lt;code&gt;Array&lt;/code&gt;, &lt;code&gt;Dynamic Programming&lt;/code&gt;, &lt;code&gt;Breadth-First Search&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="what-the-problem-is-really-asking"&gt;What the problem is really asking&lt;/h2&gt;
&lt;p&gt;The input gives a set of coin denominations and a target amount. Each coin can be used as many times as needed.&lt;/p&gt;
&lt;p&gt;The goal is not to count how many different ways the amount can be formed. The goal is to find the fewest coins needed to reach the exact amount. If the amount cannot be formed exactly, the answer is &lt;code&gt;-1&lt;/code&gt;.&lt;/p&gt;</description></item><item><title>LeetCode HARD 239 Sliding Window Maximum Summary</title><link>https://ai-digest.derricklin.net/career/leetcode-hard-239-sliding-window-maximum-summary/</link><pubDate>Fri, 24 Apr 2026 00:00:00 +0000</pubDate><guid>https://ai-digest.derricklin.net/career/leetcode-hard-239-sliding-window-maximum-summary/</guid><description>&lt;p&gt;Generated by Codex with GPT-5&lt;/p&gt;
&lt;h2 id="quick-facts"&gt;Quick facts&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Difficulty: &lt;code&gt;HARD&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Problem: &lt;a href="https://leetcode.com/problems/sliding-window-maximum/" target="_blank"&gt;Sliding Window Maximum&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Main tags: &lt;code&gt;Array&lt;/code&gt;, &lt;code&gt;Queue&lt;/code&gt;, &lt;code&gt;Sliding Window&lt;/code&gt;, &lt;code&gt;Heap (Priority Queue)&lt;/code&gt;, &lt;code&gt;Monotonic Queue&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="what-the-problem-is-really-asking"&gt;What the problem is really asking&lt;/h2&gt;
&lt;p&gt;The input gives an array and a window size &lt;code&gt;k&lt;/code&gt;. Imagine placing a length-&lt;code&gt;k&lt;/code&gt; window over the first &lt;code&gt;k&lt;/code&gt; elements, recording the maximum value inside that window, then moving the window one step to the right and repeating until the end.&lt;/p&gt;</description></item><item><title>LeetCode MEDIUM 1004 Max Consecutive Ones III Summary</title><link>https://ai-digest.derricklin.net/career/leetcode-medium-1004-max-consecutive-ones-iii-summary/</link><pubDate>Fri, 24 Apr 2026 00:00:00 +0000</pubDate><guid>https://ai-digest.derricklin.net/career/leetcode-medium-1004-max-consecutive-ones-iii-summary/</guid><description>&lt;p&gt;Generated by Codex with GPT-5&lt;/p&gt;
&lt;h2 id="quick-facts"&gt;Quick facts&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Difficulty: &lt;code&gt;MEDIUM&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Problem: &lt;a href="https://leetcode.com/problems/max-consecutive-ones-iii/" target="_blank"&gt;Max Consecutive Ones III&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Main tags: &lt;code&gt;Array&lt;/code&gt;, &lt;code&gt;Binary Search&lt;/code&gt;, &lt;code&gt;Sliding Window&lt;/code&gt;, &lt;code&gt;Prefix Sum&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="what-the-problem-is-really-asking"&gt;What the problem is really asking&lt;/h2&gt;
&lt;p&gt;This problem sounds like a bit-flipping question, but the useful reframe is simpler:&lt;/p&gt;
&lt;p&gt;find the longest contiguous subarray that contains at most &lt;code&gt;k&lt;/code&gt; zeroes.&lt;/p&gt;</description></item><item><title>LeetCode MEDIUM 152 Maximum Product Subarray Summary</title><link>https://ai-digest.derricklin.net/career/leetcode-medium-152-maximum-product-subarray-summary/</link><pubDate>Fri, 24 Apr 2026 00:00:00 +0000</pubDate><guid>https://ai-digest.derricklin.net/career/leetcode-medium-152-maximum-product-subarray-summary/</guid><description>&lt;p&gt;Generated by Codex with GPT-5&lt;/p&gt;
&lt;h2 id="quick-facts"&gt;Quick facts&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Difficulty: &lt;code&gt;MEDIUM&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Problem: &lt;a href="https://leetcode.com/problems/maximum-product-subarray/" target="_blank"&gt;Maximum Product Subarray&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Main tags: &lt;code&gt;Array&lt;/code&gt;, &lt;code&gt;Dynamic Programming&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="what-the-problem-is-really-asking"&gt;What the problem is really asking&lt;/h2&gt;
&lt;p&gt;This problem asks for the contiguous subarray whose product is as large as possible.&lt;/p&gt;
&lt;p&gt;That sounds close to Maximum Subarray, but products behave very differently from sums. With sums, a very negative running total is usually bad news. With products, a very negative running product can suddenly become the best thing to keep if the next number is also negative.&lt;/p&gt;</description></item><item><title>LeetCode MEDIUM 221 Maximal Square Summary</title><link>https://ai-digest.derricklin.net/career/leetcode-medium-221-maximal-square-summary/</link><pubDate>Fri, 24 Apr 2026 00:00:00 +0000</pubDate><guid>https://ai-digest.derricklin.net/career/leetcode-medium-221-maximal-square-summary/</guid><description>&lt;p&gt;Generated by Codex with GPT-5&lt;/p&gt;
&lt;h2 id="quick-facts"&gt;Quick facts&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Difficulty: &lt;code&gt;MEDIUM&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Problem: &lt;a href="https://leetcode.com/problems/maximal-square/" target="_blank"&gt;Maximal Square&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Main tags: &lt;code&gt;Array&lt;/code&gt;, &lt;code&gt;Dynamic Programming&lt;/code&gt;, &lt;code&gt;Matrix&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="what-the-problem-is-really-asking"&gt;What the problem is really asking&lt;/h2&gt;
&lt;p&gt;The input is a grid of &lt;code&gt;&amp;quot;0&amp;quot;&lt;/code&gt; and &lt;code&gt;&amp;quot;1&amp;quot;&lt;/code&gt; values. The job is to find the area of the largest square made entirely of &lt;code&gt;1&lt;/code&gt;s.&lt;/p&gt;
&lt;p&gt;The part that usually traps people is the word &amp;ldquo;square.&amp;rdquo; A brute-force approach tends to ask:&lt;/p&gt;</description></item><item><title>LeetCode MEDIUM 994 Rotting Oranges Summary</title><link>https://ai-digest.derricklin.net/career/leetcode-medium-994-rotting-oranges-summary/</link><pubDate>Fri, 24 Apr 2026 00:00:00 +0000</pubDate><guid>https://ai-digest.derricklin.net/career/leetcode-medium-994-rotting-oranges-summary/</guid><description>&lt;p&gt;Generated by Codex with GPT-5&lt;/p&gt;
&lt;h2 id="quick-facts"&gt;Quick facts&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Difficulty: &lt;code&gt;MEDIUM&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Problem: &lt;a href="https://leetcode.com/problems/rotting-oranges/" target="_blank"&gt;Rotting Oranges&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Main tags: &lt;code&gt;Array&lt;/code&gt;, &lt;code&gt;Breadth-First Search&lt;/code&gt;, &lt;code&gt;Matrix&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="problem-gist"&gt;Problem gist&lt;/h2&gt;
&lt;p&gt;The grid has three kinds of cells: empty (&lt;code&gt;0&lt;/code&gt;), fresh oranges (&lt;code&gt;1&lt;/code&gt;), and rotten oranges (&lt;code&gt;2&lt;/code&gt;). Every minute, any fresh orange touching a rotten orange in the four main directions also becomes rotten.&lt;/p&gt;</description></item><item><title>LeetCode HARD 410 Split Array Largest Sum Summary</title><link>https://ai-digest.derricklin.net/career/leetcode-hard-410-split-array-largest-sum-summary/</link><pubDate>Thu, 23 Apr 2026 00:00:00 +0000</pubDate><guid>https://ai-digest.derricklin.net/career/leetcode-hard-410-split-array-largest-sum-summary/</guid><description>&lt;p&gt;Generated by Codex with GPT-5&lt;/p&gt;
&lt;h2 id="quick-facts"&gt;Quick facts&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Difficulty: &lt;code&gt;HARD&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Problem: &lt;a href="https://leetcode.com/problems/split-array-largest-sum/" target="_blank"&gt;Split Array Largest Sum&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Main tags: &lt;code&gt;Array&lt;/code&gt;, &lt;code&gt;Binary Search&lt;/code&gt;, &lt;code&gt;Dynamic Programming&lt;/code&gt;, &lt;code&gt;Greedy&lt;/code&gt;, &lt;code&gt;Prefix Sum&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="what-the-problem-is-really-asking"&gt;What the problem is really asking&lt;/h2&gt;
&lt;p&gt;The input array must be cut into exactly &lt;code&gt;k&lt;/code&gt; non-empty, contiguous pieces. Each cut creates one subarray, and the score of a split is the largest subarray sum that appears anywhere in that split.&lt;/p&gt;</description></item><item><title>LeetCode MEDIUM 540 Single Element in a Sorted Array Summary</title><link>https://ai-digest.derricklin.net/career/leetcode-medium-540-single-element-in-a-sorted-array-summary/</link><pubDate>Thu, 23 Apr 2026 00:00:00 +0000</pubDate><guid>https://ai-digest.derricklin.net/career/leetcode-medium-540-single-element-in-a-sorted-array-summary/</guid><description>&lt;p&gt;Generated by Codex with GPT-5&lt;/p&gt;
&lt;h2 id="quick-facts"&gt;Quick facts&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Difficulty: &lt;code&gt;MEDIUM&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Problem: &lt;a href="https://leetcode.com/problems/single-element-in-a-sorted-array/" target="_blank"&gt;Single Element in a Sorted Array&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Main tags: &lt;code&gt;Array&lt;/code&gt;, &lt;code&gt;Binary Search&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="what-the-problem-is-really-asking"&gt;What the problem is really asking&lt;/h2&gt;
&lt;p&gt;The array is sorted, and every value appears exactly twice except for one value
that appears once.&lt;/p&gt;
&lt;p&gt;If the array were not sorted, the quickest idea would be XOR: identical values
cancel out, so the final XOR is the answer. That works in &lt;code&gt;O(n)&lt;/code&gt; time and
&lt;code&gt;O(1)&lt;/code&gt; space.&lt;/p&gt;</description></item><item><title>LeetCode MEDIUM 912 Sort an Array Summary</title><link>https://ai-digest.derricklin.net/career/leetcode-medium-912-sort-an-array-summary/</link><pubDate>Thu, 23 Apr 2026 00:00:00 +0000</pubDate><guid>https://ai-digest.derricklin.net/career/leetcode-medium-912-sort-an-array-summary/</guid><description>&lt;p&gt;Generated by Codex with GPT-5.4&lt;/p&gt;
&lt;p&gt;Difficulty: MEDIUM&lt;br&gt;
Problem: &lt;a href="https://leetcode.com/problems/sort-an-array/" target="_blank"&gt;Sort an Array&lt;/a&gt;&lt;/p&gt;
&lt;h2 id="problem-gist"&gt;Problem gist&lt;/h2&gt;
&lt;p&gt;The task is deliberately simple to state: given an integer array, return the same values in ascending order. The interview signal is not whether someone knows Python&amp;rsquo;s built-in sort, but whether they can implement a sorting strategy with clear time and space guarantees.&lt;/p&gt;</description></item><item><title>LeetCode HARD 85 Maximal Rectangle Summary</title><link>https://ai-digest.derricklin.net/career/leetcode-hard-85-maximal-rectangle-summary/</link><pubDate>Wed, 22 Apr 2026 00:00:00 +0000</pubDate><guid>https://ai-digest.derricklin.net/career/leetcode-hard-85-maximal-rectangle-summary/</guid><description>&lt;p&gt;Generated by Codex with GPT-5&lt;/p&gt;
&lt;h2 id="quick-facts"&gt;Quick facts&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Difficulty: &lt;code&gt;HARD&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Problem: &lt;a href="https://leetcode.com/problems/maximal-rectangle/" target="_blank"&gt;Maximal Rectangle&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Main tags: &lt;code&gt;Array&lt;/code&gt;, &lt;code&gt;Dynamic Programming&lt;/code&gt;, &lt;code&gt;Stack&lt;/code&gt;, &lt;code&gt;Matrix&lt;/code&gt;, &lt;code&gt;Monotonic Stack&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="what-the-problem-is-really-asking"&gt;What the problem is really asking&lt;/h2&gt;
&lt;p&gt;The matrix contains only &lt;code&gt;&amp;quot;0&amp;quot;&lt;/code&gt; and &lt;code&gt;&amp;quot;1&amp;quot;&lt;/code&gt;, and the goal is to find the area of
the largest axis-aligned rectangle made entirely of &lt;code&gt;&amp;quot;1&amp;quot;&lt;/code&gt; cells.&lt;/p&gt;</description></item><item><title>LeetCode MEDIUM 189 Rotate Array Summary</title><link>https://ai-digest.derricklin.net/career/leetcode-medium-189-rotate-array-summary/</link><pubDate>Wed, 22 Apr 2026 00:00:00 +0000</pubDate><guid>https://ai-digest.derricklin.net/career/leetcode-medium-189-rotate-array-summary/</guid><description>&lt;p&gt;Generated by Codex with GPT-5.4&lt;/p&gt;
&lt;h2 id="quick-facts"&gt;Quick facts&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Difficulty: &lt;code&gt;MEDIUM&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Problem: &lt;a href="https://leetcode.com/problems/rotate-array/" target="_blank"&gt;Rotate Array&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Main tags: &lt;code&gt;Array&lt;/code&gt;, &lt;code&gt;Math&lt;/code&gt;, &lt;code&gt;Two Pointers&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="what-the-problem-is-really-asking"&gt;What the problem is really asking&lt;/h2&gt;
&lt;p&gt;The problem gives an array &lt;code&gt;nums&lt;/code&gt; and an integer &lt;code&gt;k&lt;/code&gt;. The task is to rotate the
array to the right by &lt;code&gt;k&lt;/code&gt; positions, modifying the original list in place.&lt;/p&gt;</description></item><item><title>LeetCode MEDIUM 207 Course Schedule Summary</title><link>https://ai-digest.derricklin.net/career/leetcode-medium-207-course-schedule-summary/</link><pubDate>Wed, 22 Apr 2026 00:00:00 +0000</pubDate><guid>https://ai-digest.derricklin.net/career/leetcode-medium-207-course-schedule-summary/</guid><description>&lt;p&gt;Generated by Codex with GPT-5&lt;/p&gt;
&lt;h2 id="quick-facts"&gt;Quick facts&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Difficulty: &lt;code&gt;MEDIUM&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Problem: &lt;a href="https://leetcode.com/problems/course-schedule/" target="_blank"&gt;Course Schedule&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Main tags: &lt;code&gt;Depth-First Search&lt;/code&gt;, &lt;code&gt;Breadth-First Search&lt;/code&gt;, &lt;code&gt;Graph Theory&lt;/code&gt;, &lt;code&gt;Topological Sort&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="what-the-problem-is-really-asking"&gt;What the problem is really asking&lt;/h2&gt;
&lt;p&gt;There are &lt;code&gt;numCourses&lt;/code&gt; courses labeled from &lt;code&gt;0&lt;/code&gt; to &lt;code&gt;numCourses - 1&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Each prerequisite pair &lt;code&gt;[a, b]&lt;/code&gt; means course &lt;code&gt;b&lt;/code&gt; must be finished before course &lt;code&gt;a&lt;/code&gt;.&lt;/p&gt;</description></item><item><title>LeetCode MEDIUM 78 Subsets Summary</title><link>https://ai-digest.derricklin.net/career/leetcode-medium-78-subsets-summary/</link><pubDate>Wed, 22 Apr 2026 00:00:00 +0000</pubDate><guid>https://ai-digest.derricklin.net/career/leetcode-medium-78-subsets-summary/</guid><description>&lt;p&gt;Generated by Codex with GPT-5&lt;/p&gt;
&lt;h2 id="quick-facts"&gt;Quick facts&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Difficulty: &lt;code&gt;MEDIUM&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Problem: &lt;a href="https://leetcode.com/problems/subsets/" target="_blank"&gt;Subsets&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Main tags: &lt;code&gt;Array&lt;/code&gt;, &lt;code&gt;Backtracking&lt;/code&gt;, &lt;code&gt;Bit Manipulation&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="what-the-problem-is-really-asking"&gt;What the problem is really asking&lt;/h2&gt;
&lt;p&gt;Given an array &lt;code&gt;nums&lt;/code&gt; of distinct integers, return every possible subset of those numbers.&lt;/p&gt;
&lt;p&gt;A subset can contain none of the numbers, some of the numbers, or all of the numbers. The empty subset &lt;code&gt;[]&lt;/code&gt; is valid, and the full array is valid too. Because the input numbers are distinct, there is no duplicate-handling problem in the base version.&lt;/p&gt;</description></item><item><title>LeetCode HARD 84 Largest Rectangle in Histogram Summary</title><link>https://ai-digest.derricklin.net/career/leetcode-hard-84-largest-rectangle-in-histogram-summary/</link><pubDate>Tue, 21 Apr 2026 00:00:00 +0000</pubDate><guid>https://ai-digest.derricklin.net/career/leetcode-hard-84-largest-rectangle-in-histogram-summary/</guid><description>&lt;p&gt;Generated by Codex with GPT-5&lt;/p&gt;
&lt;h2 id="quick-facts"&gt;Quick facts&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Difficulty: &lt;code&gt;HARD&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Problem: &lt;a href="https://leetcode.com/problems/largest-rectangle-in-histogram/" target="_blank"&gt;Largest Rectangle in Histogram&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Main tags: &lt;code&gt;Array&lt;/code&gt;, &lt;code&gt;Stack&lt;/code&gt;, &lt;code&gt;Monotonic Stack&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="what-the-problem-is-really-asking"&gt;What the problem is really asking&lt;/h2&gt;
&lt;p&gt;Each bar in the histogram has width &lt;code&gt;1&lt;/code&gt;, and the goal is to find the largest
possible rectangle that can be formed by taking one or more adjacent bars.&lt;/p&gt;</description></item><item><title>LeetCode MEDIUM 146 LRU Cache Summary</title><link>https://ai-digest.derricklin.net/career/leetcode-medium-146-lru-cache-summary/</link><pubDate>Tue, 21 Apr 2026 00:00:00 +0000</pubDate><guid>https://ai-digest.derricklin.net/career/leetcode-medium-146-lru-cache-summary/</guid><description>&lt;p&gt;Generated by Codex with GPT-5&lt;/p&gt;
&lt;h2 id="quick-facts"&gt;Quick facts&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Difficulty: &lt;code&gt;MEDIUM&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Problem: &lt;a href="https://leetcode.com/problems/lru-cache/" target="_blank"&gt;LRU Cache&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Main tags: &lt;code&gt;Hash Table&lt;/code&gt;, &lt;code&gt;Linked List&lt;/code&gt;, &lt;code&gt;Design&lt;/code&gt;, &lt;code&gt;Doubly-Linked List&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="what-the-problem-is-really-asking"&gt;What the problem is really asking&lt;/h2&gt;
&lt;p&gt;This problem is not mainly about storing key-value pairs. It is about building
a data structure that can answer two different questions at the same time:&lt;/p&gt;</description></item><item><title>LeetCode MEDIUM 162 Find Peak Element Summary</title><link>https://ai-digest.derricklin.net/career/leetcode-medium-162-find-peak-element-summary/</link><pubDate>Tue, 21 Apr 2026 00:00:00 +0000</pubDate><guid>https://ai-digest.derricklin.net/career/leetcode-medium-162-find-peak-element-summary/</guid><description>&lt;p&gt;Generated by Codex with GPT-5&lt;/p&gt;
&lt;h2 id="quick-facts"&gt;Quick facts&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Difficulty: &lt;code&gt;MEDIUM&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Problem: &lt;a href="https://leetcode.com/problems/find-peak-element/" target="_blank"&gt;Find Peak Element&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Main tags: &lt;code&gt;Array&lt;/code&gt;, &lt;code&gt;Binary Search&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="what-the-problem-is-really-asking"&gt;What the problem is really asking&lt;/h2&gt;
&lt;p&gt;This problem does &lt;strong&gt;not&lt;/strong&gt; ask for the maximum value in the whole array.&lt;/p&gt;
&lt;p&gt;It only asks for &lt;strong&gt;any index&lt;/strong&gt; whose value is greater than its neighbors. That
is a much weaker requirement, and that weaker requirement is exactly what makes
the binary-search solution possible.&lt;/p&gt;</description></item><item><title>LeetCode MEDIUM 238 Product of Array Except Self Summary</title><link>https://ai-digest.derricklin.net/career/leetcode-medium-238-product-of-array-except-self-summary/</link><pubDate>Tue, 21 Apr 2026 00:00:00 +0000</pubDate><guid>https://ai-digest.derricklin.net/career/leetcode-medium-238-product-of-array-except-self-summary/</guid><description>&lt;p&gt;Generated by Codex with GPT-5&lt;/p&gt;
&lt;h2 id="quick-facts"&gt;Quick facts&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Difficulty: &lt;code&gt;MEDIUM&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Problem: &lt;a href="https://leetcode.com/problems/product-of-array-except-self/" target="_blank"&gt;Product of Array Except Self&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Main tags: &lt;code&gt;Array&lt;/code&gt;, &lt;code&gt;Prefix Sum&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="what-the-problem-is-really-asking"&gt;What the problem is really asking&lt;/h2&gt;
&lt;p&gt;For each index, the answer should be the product of every number except the one
currently sitting at that index.&lt;/p&gt;
&lt;p&gt;If the input is &lt;code&gt;[1, 2, 3, 4]&lt;/code&gt;, then:&lt;/p&gt;</description></item><item><title>LeetCode MEDIUM 424 Longest Repeating Character Replacement Summary</title><link>https://ai-digest.derricklin.net/career/leetcode-medium-424-longest-repeating-character-replacement-summary/</link><pubDate>Tue, 21 Apr 2026 00:00:00 +0000</pubDate><guid>https://ai-digest.derricklin.net/career/leetcode-medium-424-longest-repeating-character-replacement-summary/</guid><description>&lt;p&gt;Generated by Codex with GPT-5&lt;/p&gt;
&lt;h2 id="quick-facts"&gt;Quick facts&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Difficulty: &lt;code&gt;MEDIUM&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Problem: &lt;a href="https://leetcode.com/problems/longest-repeating-character-replacement/" target="_blank"&gt;Longest Repeating Character Replacement&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Main tags: &lt;code&gt;Hash Table&lt;/code&gt;, &lt;code&gt;String&lt;/code&gt;, &lt;code&gt;Sliding Window&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="what-the-problem-is-really-asking"&gt;What the problem is really asking&lt;/h2&gt;
&lt;p&gt;The input is a string and a budget &lt;code&gt;k&lt;/code&gt;. One operation lets us replace any
single character with any other character. The goal is to find the longest
substring that can be turned into a string of all one repeated character using
at most &lt;code&gt;k&lt;/code&gt; replacements.&lt;/p&gt;</description></item><item><title>LeetCode HARD 1944 Number of Visible People in a Queue Summary</title><link>https://ai-digest.derricklin.net/career/leetcode-hard-1944-number-of-visible-people-in-a-queue-summary/</link><pubDate>Mon, 20 Apr 2026 00:00:00 +0000</pubDate><guid>https://ai-digest.derricklin.net/career/leetcode-hard-1944-number-of-visible-people-in-a-queue-summary/</guid><description>&lt;p&gt;Generated by Codex with GPT-5&lt;/p&gt;
&lt;h2 id="quick-facts"&gt;Quick facts&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Difficulty: &lt;code&gt;HARD&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Problem: &lt;a href="https://leetcode.com/problems/number-of-visible-people-in-a-queue/" target="_blank"&gt;Number of Visible People in a Queue&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Main tags: &lt;code&gt;Array&lt;/code&gt;, &lt;code&gt;Stack&lt;/code&gt;, &lt;code&gt;Monotonic Stack&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="what-the-problem-is-really-asking"&gt;What the problem is really asking&lt;/h2&gt;
&lt;p&gt;Each person is looking to the right. For every position, the task is to count how
many people are visible before the view is blocked.&lt;/p&gt;</description></item><item><title>LeetCode HARD 354 Russian Doll Envelopes Summary</title><link>https://ai-digest.derricklin.net/career/leetcode-hard-354-russian-doll-envelopes-summary/</link><pubDate>Mon, 20 Apr 2026 00:00:00 +0000</pubDate><guid>https://ai-digest.derricklin.net/career/leetcode-hard-354-russian-doll-envelopes-summary/</guid><description>&lt;p&gt;Generated by Codex with GPT-5&lt;/p&gt;
&lt;h2 id="quick-facts"&gt;Quick facts&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Difficulty: &lt;code&gt;HARD&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Problem: &lt;a href="https://leetcode.com/problems/russian-doll-envelopes/" target="_blank"&gt;Russian Doll Envelopes&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Main tags: &lt;code&gt;Array&lt;/code&gt;, &lt;code&gt;Binary Search&lt;/code&gt;, &lt;code&gt;Dynamic Programming&lt;/code&gt;, &lt;code&gt;Sorting&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="what-the-problem-is-really-asking"&gt;What the problem is really asking&lt;/h2&gt;
&lt;p&gt;Each envelope has a width and a height. One envelope can go inside another only if both dimensions are strictly smaller.&lt;/p&gt;
&lt;p&gt;So the real question is:&lt;/p&gt;</description></item><item><title>LeetCode MEDIUM 167 Two Sum II - Input Array Is Sorted Summary</title><link>https://ai-digest.derricklin.net/career/leetcode-medium-167-two-sum-ii---input-array-is-sorted-summary/</link><pubDate>Mon, 20 Apr 2026 00:00:00 +0000</pubDate><guid>https://ai-digest.derricklin.net/career/leetcode-medium-167-two-sum-ii---input-array-is-sorted-summary/</guid><description>&lt;p&gt;Generated by Codex with GPT-5&lt;/p&gt;
&lt;h2 id="quick-facts"&gt;Quick facts&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Difficulty: &lt;code&gt;MEDIUM&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Problem: &lt;a href="https://leetcode.com/problems/two-sum-ii-input-array-is-sorted/" target="_blank"&gt;Two Sum II - Input Array Is Sorted&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Main tags: &lt;code&gt;Array&lt;/code&gt;, &lt;code&gt;Two Pointers&lt;/code&gt;, &lt;code&gt;Binary Search&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="what-the-problem-is-really-asking"&gt;What the problem is really asking&lt;/h2&gt;
&lt;p&gt;The input array is already sorted in non-decreasing order, and the goal is to find the two numbers whose sum equals the target.&lt;/p&gt;</description></item><item><title>LeetCode MEDIUM 200 Number of Islands Summary</title><link>https://ai-digest.derricklin.net/career/leetcode-medium-200-number-of-islands-summary/</link><pubDate>Mon, 20 Apr 2026 00:00:00 +0000</pubDate><guid>https://ai-digest.derricklin.net/career/leetcode-medium-200-number-of-islands-summary/</guid><description>&lt;p&gt;Generated by Codex with GPT-5&lt;/p&gt;
&lt;h2 id="quick-facts"&gt;Quick facts&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Difficulty: &lt;code&gt;MEDIUM&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Problem: &lt;a href="https://leetcode.com/problems/number-of-islands/" target="_blank"&gt;Number of Islands&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Main tags: &lt;code&gt;Array&lt;/code&gt;, &lt;code&gt;Depth-First Search&lt;/code&gt;, &lt;code&gt;Breadth-First Search&lt;/code&gt;, &lt;code&gt;Union-Find&lt;/code&gt;, &lt;code&gt;Matrix&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="what-the-problem-is-really-asking"&gt;What the problem is really asking&lt;/h2&gt;
&lt;p&gt;The grid is a map of water and land:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;&amp;quot;1&amp;quot;&lt;/code&gt; means land&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&amp;quot;0&amp;quot;&lt;/code&gt; means water&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;An island is one connected piece of land using only the four cardinal directions: up, down, left, and right.&lt;/p&gt;</description></item><item><title>LeetCode MEDIUM 215 Kth Largest Element in an Array Summary</title><link>https://ai-digest.derricklin.net/career/leetcode-medium-215-kth-largest-element-in-an-array-summary/</link><pubDate>Mon, 20 Apr 2026 00:00:00 +0000</pubDate><guid>https://ai-digest.derricklin.net/career/leetcode-medium-215-kth-largest-element-in-an-array-summary/</guid><description>&lt;p&gt;Generated by Codex with GPT-5&lt;/p&gt;
&lt;h2 id="quick-facts"&gt;Quick facts&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Difficulty: &lt;code&gt;MEDIUM&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Problem: &lt;a href="https://leetcode.com/problems/kth-largest-element-in-an-array/" target="_blank"&gt;Kth Largest Element in an Array&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Main tags: &lt;code&gt;Array&lt;/code&gt;, &lt;code&gt;Divide and Conquer&lt;/code&gt;, &lt;code&gt;Sorting&lt;/code&gt;, &lt;code&gt;Heap (Priority Queue)&lt;/code&gt;, &lt;code&gt;Quickselect&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="what-the-problem-is-really-asking"&gt;What the problem is really asking&lt;/h2&gt;
&lt;p&gt;This problem asks for the value that would appear in position &lt;code&gt;k&lt;/code&gt; if the array
were sorted in descending order.&lt;/p&gt;</description></item><item><title>LeetCode MEDIUM 253 Meeting Rooms II Summary</title><link>https://ai-digest.derricklin.net/career/leetcode-medium-253-meeting-rooms-ii-summary/</link><pubDate>Mon, 20 Apr 2026 00:00:00 +0000</pubDate><guid>https://ai-digest.derricklin.net/career/leetcode-medium-253-meeting-rooms-ii-summary/</guid><description>&lt;p&gt;Generated by Codex with GPT-5&lt;/p&gt;
&lt;h2 id="quick-facts"&gt;Quick facts&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Difficulty: &lt;code&gt;MEDIUM&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Problem: &lt;a href="https://leetcode.com/problems/meeting-rooms-ii/" target="_blank"&gt;Meeting Rooms II&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Main tags: &lt;code&gt;Array&lt;/code&gt;, &lt;code&gt;Two Pointers&lt;/code&gt;, &lt;code&gt;Greedy&lt;/code&gt;, &lt;code&gt;Sorting&lt;/code&gt;, &lt;code&gt;Heap (Priority Queue)&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="what-the-problem-is-really-asking"&gt;What the problem is really asking&lt;/h2&gt;
&lt;p&gt;Each interval represents one meeting with a start time and an end time.&lt;/p&gt;
&lt;p&gt;The question is not really about building a calendar or labeling rooms. It is asking:&lt;/p&gt;</description></item><item><title>LeetCode MEDIUM 347 Top K Frequent Elements Summary</title><link>https://ai-digest.derricklin.net/career/leetcode-medium-347-top-k-frequent-elements-summary/</link><pubDate>Mon, 20 Apr 2026 00:00:00 +0000</pubDate><guid>https://ai-digest.derricklin.net/career/leetcode-medium-347-top-k-frequent-elements-summary/</guid><description>&lt;p&gt;Generated by Codex with GPT-5&lt;/p&gt;
&lt;h2 id="quick-facts"&gt;Quick facts&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Difficulty: &lt;code&gt;MEDIUM&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Problem: &lt;a href="https://leetcode.com/problems/top-k-frequent-elements/" target="_blank"&gt;Top K Frequent Elements&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Main tags: &lt;code&gt;Array&lt;/code&gt;, &lt;code&gt;Hash Table&lt;/code&gt;, &lt;code&gt;Bucket Sort&lt;/code&gt;, &lt;code&gt;Heap&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="what-the-problem-is-really-asking"&gt;What the problem is really asking&lt;/h2&gt;
&lt;p&gt;The input is an array of integers and a number &lt;code&gt;k&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;The task is not to sort the array itself. It is to:&lt;/p&gt;</description></item><item><title>LeetCode MEDIUM 875 Koko Eating Bananas Summary</title><link>https://ai-digest.derricklin.net/career/leetcode-medium-875-koko-eating-bananas-summary/</link><pubDate>Mon, 20 Apr 2026 00:00:00 +0000</pubDate><guid>https://ai-digest.derricklin.net/career/leetcode-medium-875-koko-eating-bananas-summary/</guid><description>&lt;p&gt;Generated by Codex with GPT-5&lt;/p&gt;
&lt;h2 id="quick-facts"&gt;Quick facts&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Difficulty: &lt;code&gt;MEDIUM&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Problem: &lt;a href="https://leetcode.com/problems/koko-eating-bananas/" target="_blank"&gt;Koko Eating Bananas&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Main tags: &lt;code&gt;Array&lt;/code&gt;, &lt;code&gt;Binary Search&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="what-the-problem-is-really-asking"&gt;What the problem is really asking&lt;/h2&gt;
&lt;p&gt;Koko has several piles of bananas and exactly &lt;code&gt;h&lt;/code&gt; hours before the guards return. In one hour, she chooses one pile and eats up to &lt;code&gt;k&lt;/code&gt; bananas from that pile. If the pile has fewer than &lt;code&gt;k&lt;/code&gt;, she finishes it and the rest of that hour is wasted.&lt;/p&gt;</description></item><item><title>LeetCode HARD 212 Word Search II Summary</title><link>https://ai-digest.derricklin.net/career/leetcode-hard-212-word-search-ii-summary/</link><pubDate>Sun, 19 Apr 2026 00:00:00 +0000</pubDate><guid>https://ai-digest.derricklin.net/career/leetcode-hard-212-word-search-ii-summary/</guid><description>&lt;p&gt;Generated by Codex with GPT-5&lt;/p&gt;
&lt;h2 id="quick-facts"&gt;Quick facts&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Difficulty: &lt;code&gt;HARD&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Problem: &lt;a href="https://leetcode.com/problems/word-search-ii/" target="_blank"&gt;Word Search II&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Main tags: &lt;code&gt;Array&lt;/code&gt;, &lt;code&gt;String&lt;/code&gt;, &lt;code&gt;Backtracking&lt;/code&gt;, &lt;code&gt;Trie&lt;/code&gt;, &lt;code&gt;Matrix&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="what-the-problem-is-really-asking"&gt;What the problem is really asking&lt;/h2&gt;
&lt;p&gt;The input gives a letter grid and a list of candidate words. A word is valid if it can be traced through horizontally or vertically adjacent cells without reusing the same cell inside that one word.&lt;/p&gt;</description></item><item><title>LeetCode HARD 2402 Meeting Rooms III Summary</title><link>https://ai-digest.derricklin.net/career/leetcode-hard-2402-meeting-rooms-iii-summary/</link><pubDate>Sun, 19 Apr 2026 00:00:00 +0000</pubDate><guid>https://ai-digest.derricklin.net/career/leetcode-hard-2402-meeting-rooms-iii-summary/</guid><description>&lt;p&gt;Generated by Codex with GPT-5&lt;/p&gt;
&lt;h2 id="quick-facts"&gt;Quick facts&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Difficulty: &lt;code&gt;HARD&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Problem: &lt;a href="https://leetcode.com/problems/meeting-rooms-iii/" target="_blank"&gt;Meeting Rooms III&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Main tags: &lt;code&gt;Array&lt;/code&gt;, &lt;code&gt;Sorting&lt;/code&gt;, &lt;code&gt;Heap (Priority Queue)&lt;/code&gt;, &lt;code&gt;Simulation&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Frequency in source list: &lt;code&gt;17.6&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="what-the-problem-is-really-asking"&gt;What the problem is really asking&lt;/h2&gt;
&lt;p&gt;This is not the classic &amp;ldquo;how many meeting rooms are needed?&amp;rdquo; question.&lt;/p&gt;
&lt;p&gt;The number of rooms is fixed up front, and every meeting has to be assigned under three rules:&lt;/p&gt;</description></item><item><title>LeetCode HARD 312 Burst Balloons Summary</title><link>https://ai-digest.derricklin.net/career/leetcode-hard-312-burst-balloons-summary/</link><pubDate>Sun, 19 Apr 2026 00:00:00 +0000</pubDate><guid>https://ai-digest.derricklin.net/career/leetcode-hard-312-burst-balloons-summary/</guid><description>&lt;p&gt;Generated by Codex with GPT-5&lt;/p&gt;
&lt;h2 id="quick-facts"&gt;Quick facts&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Difficulty: &lt;code&gt;HARD&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Problem: &lt;a href="https://leetcode.com/problems/burst-balloons/" target="_blank"&gt;Burst Balloons&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Main tags: &lt;code&gt;Array&lt;/code&gt;, &lt;code&gt;Dynamic Programming&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="what-the-problem-is-really-asking"&gt;What the problem is really asking&lt;/h2&gt;
&lt;p&gt;This problem looks like a simulation question, but the hard part is not the simulation itself. The hard part is that every burst changes the future.&lt;/p&gt;
&lt;p&gt;When balloon &lt;code&gt;i&lt;/code&gt; is burst, the coins earned are:&lt;/p&gt;</description></item><item><title>LeetCode HARD 407 Trapping Rain Water II Summary</title><link>https://ai-digest.derricklin.net/career/leetcode-hard-407-trapping-rain-water-ii-summary/</link><pubDate>Sun, 19 Apr 2026 00:00:00 +0000</pubDate><guid>https://ai-digest.derricklin.net/career/leetcode-hard-407-trapping-rain-water-ii-summary/</guid><description>&lt;p&gt;Generated by Codex with GPT-5&lt;/p&gt;
&lt;h2 id="quick-facts"&gt;Quick facts&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Difficulty: &lt;code&gt;HARD&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Problem: &lt;a href="https://leetcode.com/problems/trapping-rain-water-ii/" target="_blank"&gt;Trapping Rain Water II&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Main tags: &lt;code&gt;Array&lt;/code&gt;, &lt;code&gt;Breadth-First Search&lt;/code&gt;, &lt;code&gt;Heap (Priority Queue)&lt;/code&gt;, &lt;code&gt;Matrix&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Frequency in source list: &lt;code&gt;17.6&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="what-the-problem-is-really-asking"&gt;What the problem is really asking&lt;/h2&gt;
&lt;p&gt;This is the 2D version of Trapping Rain Water.&lt;/p&gt;
&lt;p&gt;Instead of one row of bars, there is a full grid of elevations. After rain falls, water can sit on low cells, but only if every path from that cell to the outer border is blocked by walls that are high enough.&lt;/p&gt;</description></item><item><title>LeetCode MEDIUM 138 Copy List with Random Pointer Summary</title><link>https://ai-digest.derricklin.net/career/leetcode-medium-138-copy-list-with-random-pointer-summary/</link><pubDate>Sun, 19 Apr 2026 00:00:00 +0000</pubDate><guid>https://ai-digest.derricklin.net/career/leetcode-medium-138-copy-list-with-random-pointer-summary/</guid><description>&lt;p&gt;Generated by Codex with GPT-5&lt;/p&gt;
&lt;h2 id="quick-facts"&gt;Quick facts&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Difficulty: &lt;code&gt;MEDIUM&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Problem: &lt;a href="https://leetcode.com/problems/copy-list-with-random-pointer/" target="_blank"&gt;Copy List with Random Pointer&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Main tags: &lt;code&gt;Hash Table&lt;/code&gt;, &lt;code&gt;Linked List&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="what-the-problem-is-really-asking"&gt;What the problem is really asking&lt;/h2&gt;
&lt;p&gt;Each node in the list has two outgoing pointers:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;next&lt;/code&gt;, which gives the usual linked-list order&lt;/li&gt;
&lt;li&gt;&lt;code&gt;random&lt;/code&gt;, which can point to any node in the list or to &lt;code&gt;None&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The task is to build a deep copy, not just another pointer to the same nodes.&lt;/p&gt;</description></item><item><title>LeetCode MEDIUM 29 Divide Two Integers Summary</title><link>https://ai-digest.derricklin.net/career/leetcode-medium-29-divide-two-integers-summary/</link><pubDate>Sun, 19 Apr 2026 00:00:00 +0000</pubDate><guid>https://ai-digest.derricklin.net/career/leetcode-medium-29-divide-two-integers-summary/</guid><description>&lt;p&gt;Generated by Codex with GPT-5&lt;/p&gt;
&lt;h2 id="quick-facts"&gt;Quick facts&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Difficulty: &lt;code&gt;MEDIUM&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Problem: &lt;a href="https://leetcode.com/problems/divide-two-integers/" target="_blank"&gt;Divide Two Integers&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Main tags: &lt;code&gt;Math&lt;/code&gt;, &lt;code&gt;Bit Manipulation&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="what-the-problem-is-really-asking"&gt;What the problem is really asking&lt;/h2&gt;
&lt;p&gt;Two integers are given: &lt;code&gt;dividend&lt;/code&gt; and &lt;code&gt;divisor&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;The task is to return the integer quotient of &lt;code&gt;dividend / divisor&lt;/code&gt;, but with three constraints that make the problem interesting:&lt;/p&gt;</description></item><item><title>LeetCode MEDIUM 36 Valid Sudoku Summary</title><link>https://ai-digest.derricklin.net/career/leetcode-medium-36-valid-sudoku-summary/</link><pubDate>Sun, 19 Apr 2026 00:00:00 +0000</pubDate><guid>https://ai-digest.derricklin.net/career/leetcode-medium-36-valid-sudoku-summary/</guid><description>&lt;p&gt;Generated by Codex with GPT-5&lt;/p&gt;
&lt;h2 id="quick-facts"&gt;Quick facts&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Difficulty: &lt;code&gt;MEDIUM&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Problem: &lt;a href="https://leetcode.com/problems/valid-sudoku/" target="_blank"&gt;Valid Sudoku&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Main tags: &lt;code&gt;Array&lt;/code&gt;, &lt;code&gt;Hash Table&lt;/code&gt;, &lt;code&gt;Matrix&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="what-the-problem-is-really-asking"&gt;What the problem is really asking&lt;/h2&gt;
&lt;p&gt;This problem is not asking to solve the Sudoku board.&lt;/p&gt;
&lt;p&gt;It is only asking whether the current partially filled board is still legal.
That means every filled digit must satisfy three rules at the same time:&lt;/p&gt;</description></item><item><title>LeetCode HARD 76 Minimum Window Substring Summary</title><link>https://ai-digest.derricklin.net/career/leetcode-hard-76-minimum-window-substring-summary/</link><pubDate>Sat, 18 Apr 2026 00:00:00 +0000</pubDate><guid>https://ai-digest.derricklin.net/career/leetcode-hard-76-minimum-window-substring-summary/</guid><description>&lt;p&gt;Generated by Codex with GPT-5&lt;/p&gt;
&lt;h2 id="quick-facts"&gt;Quick facts&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Difficulty: &lt;code&gt;HARD&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Problem: &lt;a href="https://leetcode.com/problems/minimum-window-substring/" target="_blank"&gt;Minimum Window Substring&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Main tags: &lt;code&gt;Hash Table&lt;/code&gt;, &lt;code&gt;String&lt;/code&gt;, &lt;code&gt;Sliding Window&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="what-the-problem-is-really-asking"&gt;What the problem is really asking&lt;/h2&gt;
&lt;p&gt;There are two strings:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;s&lt;/code&gt;, the big string where the answer must come from&lt;/li&gt;
&lt;li&gt;&lt;code&gt;t&lt;/code&gt;, the set of required characters the answer must contain&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The task is to return the shortest substring of &lt;code&gt;s&lt;/code&gt; that contains every character from &lt;code&gt;t&lt;/code&gt;, including duplicates.&lt;/p&gt;</description></item><item><title>LeetCode MEDIUM 237 Delete Node in a Linked List Summary</title><link>https://ai-digest.derricklin.net/career/leetcode-medium-237-delete-node-in-a-linked-list-summary/</link><pubDate>Sat, 18 Apr 2026 00:00:00 +0000</pubDate><guid>https://ai-digest.derricklin.net/career/leetcode-medium-237-delete-node-in-a-linked-list-summary/</guid><description>&lt;p&gt;Generated by Codex with GPT-5&lt;/p&gt;
&lt;h2 id="quick-facts"&gt;Quick facts&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Difficulty: &lt;code&gt;MEDIUM&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Problem: &lt;a href="https://leetcode.com/problems/delete-node-in-a-linked-list/" target="_blank"&gt;Delete Node in a Linked List&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Main tags: &lt;code&gt;Linked List&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="what-the-problem-is-really-asking"&gt;What the problem is really asking&lt;/h2&gt;
&lt;p&gt;This problem sounds impossible the first time it is heard.&lt;/p&gt;
&lt;p&gt;In a normal singly linked list, deleting a node means changing the previous node&amp;rsquo;s &lt;code&gt;next&lt;/code&gt; pointer so it skips the node being removed. But this problem does not give the head of the list or the previous node. It gives only the node that should disappear, and it guarantees that this node is not the tail.&lt;/p&gt;</description></item><item><title>LeetCode MEDIUM 417 Pacific Atlantic Water Flow Summary</title><link>https://ai-digest.derricklin.net/career/leetcode-medium-417-pacific-atlantic-water-flow-summary/</link><pubDate>Sat, 18 Apr 2026 00:00:00 +0000</pubDate><guid>https://ai-digest.derricklin.net/career/leetcode-medium-417-pacific-atlantic-water-flow-summary/</guid><description>&lt;p&gt;Generated by Codex with GPT-5&lt;/p&gt;
&lt;h2 id="quick-facts"&gt;Quick facts&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Difficulty: &lt;code&gt;MEDIUM&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Problem: &lt;a href="https://leetcode.com/problems/pacific-atlantic-water-flow/" target="_blank"&gt;Pacific Atlantic Water Flow&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Main tags: &lt;code&gt;Array&lt;/code&gt;, &lt;code&gt;Depth-First Search&lt;/code&gt;, &lt;code&gt;Breadth-First Search&lt;/code&gt;, &lt;code&gt;Matrix&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="what-the-problem-is-really-asking"&gt;What the problem is really asking&lt;/h2&gt;
&lt;p&gt;Each cell in the grid is a height. Water can flow from a cell to one of its four neighbors if the neighbor is at the same height or lower.&lt;/p&gt;</description></item><item><title>LeetCode MEDIUM 494 Target Sum Summary</title><link>https://ai-digest.derricklin.net/career/leetcode-medium-494-target-sum-summary/</link><pubDate>Sat, 18 Apr 2026 00:00:00 +0000</pubDate><guid>https://ai-digest.derricklin.net/career/leetcode-medium-494-target-sum-summary/</guid><description>&lt;p&gt;Generated by Codex with GPT-5&lt;/p&gt;
&lt;h2 id="quick-facts"&gt;Quick facts&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Difficulty: &lt;code&gt;MEDIUM&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Problem: &lt;a href="https://leetcode.com/problems/target-sum/" target="_blank"&gt;Target Sum&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Main tags: &lt;code&gt;Array&lt;/code&gt;, &lt;code&gt;Dynamic Programming&lt;/code&gt;, &lt;code&gt;Backtracking&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Frequency in source list: &lt;code&gt;22.1&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="what-the-problem-is-really-asking"&gt;What the problem is really asking&lt;/h2&gt;
&lt;p&gt;Each number in &lt;code&gt;nums&lt;/code&gt; must receive either a plus sign or a minus sign.&lt;/p&gt;
&lt;p&gt;After choosing a sign for every element, the final expression must evaluate to &lt;code&gt;target&lt;/code&gt;.&lt;/p&gt;</description></item><item><title>LeetCode MEDIUM 61 Rotate List Summary</title><link>https://ai-digest.derricklin.net/career/leetcode-medium-61-rotate-list-summary/</link><pubDate>Sat, 18 Apr 2026 00:00:00 +0000</pubDate><guid>https://ai-digest.derricklin.net/career/leetcode-medium-61-rotate-list-summary/</guid><description>&lt;p&gt;Generated by Codex with GPT-5&lt;/p&gt;
&lt;h2 id="quick-facts"&gt;Quick facts&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Difficulty: &lt;code&gt;MEDIUM&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Problem: &lt;a href="https://leetcode.com/problems/rotate-list/" target="_blank"&gt;Rotate List&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Main tags: &lt;code&gt;Linked List&lt;/code&gt;, &lt;code&gt;Two Pointers&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Frequency in source list: &lt;code&gt;25.6&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="what-the-problem-is-really-asking"&gt;What the problem is really asking&lt;/h2&gt;
&lt;p&gt;The input is a singly linked list and a non-negative integer &lt;code&gt;k&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Rotating the list to the right by &lt;code&gt;k&lt;/code&gt; means taking the last &lt;code&gt;k&lt;/code&gt; nodes, preserving their order, and moving them to the front.&lt;/p&gt;</description></item><item><title>LeetCode MEDIUM 8 String to Integer (atoi) Summary</title><link>https://ai-digest.derricklin.net/career/leetcode-medium-8-string-to-integer-atoi-summary/</link><pubDate>Sat, 18 Apr 2026 00:00:00 +0000</pubDate><guid>https://ai-digest.derricklin.net/career/leetcode-medium-8-string-to-integer-atoi-summary/</guid><description>&lt;p&gt;Generated by Codex with GPT-5&lt;/p&gt;
&lt;h2 id="quick-facts"&gt;Quick facts&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Difficulty: &lt;code&gt;MEDIUM&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Problem: &lt;a href="https://leetcode.com/problems/string-to-integer-atoi/" target="_blank"&gt;String to Integer (atoi)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Main tags: &lt;code&gt;String&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="what-the-problem-is-really-asking"&gt;What the problem is really asking&lt;/h2&gt;
&lt;p&gt;The input is a string, and the task is to extract the integer prefix that follows a very specific parsing rule:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;ignore leading spaces&lt;/li&gt;
&lt;li&gt;read at most one optional &lt;code&gt;+&lt;/code&gt; or &lt;code&gt;-&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;read as many consecutive digits as possible&lt;/li&gt;
&lt;li&gt;stop as soon as the next character is not a digit&lt;/li&gt;
&lt;li&gt;clamp the result into the 32-bit signed integer range&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;So this is not a math problem. It is a parsing problem with a few edge cases that must be handled in the correct order.&lt;/p&gt;</description></item><item><title>LeetCode MEDIUM 90 Subsets II Summary</title><link>https://ai-digest.derricklin.net/career/leetcode-medium-90-subsets-ii-summary/</link><pubDate>Sat, 18 Apr 2026 00:00:00 +0000</pubDate><guid>https://ai-digest.derricklin.net/career/leetcode-medium-90-subsets-ii-summary/</guid><description>&lt;p&gt;Generated by Codex with GPT-5&lt;/p&gt;
&lt;h2 id="quick-facts"&gt;Quick facts&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Difficulty: &lt;code&gt;MEDIUM&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Problem: &lt;a href="https://leetcode.com/problems/subsets-ii/" target="_blank"&gt;Subsets II&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Main tags: &lt;code&gt;Array&lt;/code&gt;, &lt;code&gt;Backtracking&lt;/code&gt;, &lt;code&gt;Bit Manipulation&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="what-the-problem-is-really-asking"&gt;What the problem is really asking&lt;/h2&gt;
&lt;p&gt;This is the power set problem with one extra constraint that changes everything: the input can contain duplicate values, but the output cannot contain duplicate subsets.&lt;/p&gt;
&lt;p&gt;If the array were all distinct, the job would be straightforward. At each position, either include the number or skip it, and every path through that decision tree would produce a unique subset.&lt;/p&gt;</description></item><item><title>LeetCode MEDIUM 907 Sum of Subarray Minimums Summary</title><link>https://ai-digest.derricklin.net/career/leetcode-medium-907-sum-of-subarray-minimums-summary/</link><pubDate>Sat, 18 Apr 2026 00:00:00 +0000</pubDate><guid>https://ai-digest.derricklin.net/career/leetcode-medium-907-sum-of-subarray-minimums-summary/</guid><description>&lt;p&gt;Generated by Codex with GPT-5&lt;/p&gt;
&lt;h2 id="quick-facts"&gt;Quick facts&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Difficulty: &lt;code&gt;MEDIUM&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Problem: &lt;a href="https://leetcode.com/problems/sum-of-subarray-minimums/" target="_blank"&gt;Sum of Subarray Minimums&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Main tags: &lt;code&gt;Array&lt;/code&gt;, &lt;code&gt;Dynamic Programming&lt;/code&gt;, &lt;code&gt;Stack&lt;/code&gt;, &lt;code&gt;Monotonic Stack&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Frequency in source list: &lt;code&gt;22.1&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="what-the-problem-is-really-asking"&gt;What the problem is really asking&lt;/h2&gt;
&lt;p&gt;For every contiguous subarray, take its minimum value. Then add all of those minimums together.&lt;/p&gt;
&lt;p&gt;That sounds simple until the number of subarrays is considered. An array of length &lt;code&gt;n&lt;/code&gt; has about &lt;code&gt;n^2 / 2&lt;/code&gt; subarrays, so listing each one and recomputing its minimum quickly becomes too slow.&lt;/p&gt;</description></item><item><title>LeetCode HARD 124 Binary Tree Maximum Path Sum Summary</title><link>https://ai-digest.derricklin.net/career/leetcode-hard-124-binary-tree-maximum-path-sum-summary/</link><pubDate>Fri, 17 Apr 2026 00:00:00 +0000</pubDate><guid>https://ai-digest.derricklin.net/career/leetcode-hard-124-binary-tree-maximum-path-sum-summary/</guid><description>&lt;p&gt;Generated by Codex with GPT-5&lt;/p&gt;
&lt;h2 id="quick-facts"&gt;Quick facts&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Difficulty: &lt;code&gt;HARD&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Problem: &lt;a href="https://leetcode.com/problems/binary-tree-maximum-path-sum/" target="_blank"&gt;Binary Tree Maximum Path Sum&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Main tags: &lt;code&gt;Dynamic Programming&lt;/code&gt;, &lt;code&gt;Tree&lt;/code&gt;, &lt;code&gt;Depth-First Search&lt;/code&gt;, &lt;code&gt;Binary Tree&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="what-the-problem-is-really-asking"&gt;What the problem is really asking&lt;/h2&gt;
&lt;p&gt;This problem is easy to misread at first.&lt;/p&gt;
&lt;p&gt;The path does &lt;strong&gt;not&lt;/strong&gt; have to start at the root, and it does &lt;strong&gt;not&lt;/strong&gt; have to end at a leaf. It can start anywhere and end anywhere, as long as it follows parent-child edges and does not reuse a node.&lt;/p&gt;</description></item><item><title>LeetCode HARD 44 Wildcard Matching Summary</title><link>https://ai-digest.derricklin.net/career/leetcode-hard-44-wildcard-matching-summary/</link><pubDate>Fri, 17 Apr 2026 00:00:00 +0000</pubDate><guid>https://ai-digest.derricklin.net/career/leetcode-hard-44-wildcard-matching-summary/</guid><description>&lt;p&gt;Generated by Codex with GPT-5&lt;/p&gt;
&lt;h2 id="quick-facts"&gt;Quick facts&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Difficulty: &lt;code&gt;HARD&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Problem: &lt;a href="https://leetcode.com/problems/wildcard-matching/" target="_blank"&gt;Wildcard Matching&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Main tags: &lt;code&gt;String&lt;/code&gt;, &lt;code&gt;Dynamic Programming&lt;/code&gt;, &lt;code&gt;Greedy&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="what-the-problem-is-really-asking"&gt;What the problem is really asking&lt;/h2&gt;
&lt;p&gt;The pattern contains two special characters:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;?&lt;/code&gt; matches exactly one character&lt;/li&gt;
&lt;li&gt;&lt;code&gt;*&lt;/code&gt; matches any sequence of characters, including the empty sequence&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The match must cover the &lt;strong&gt;entire&lt;/strong&gt; string. That is the part that makes the problem interesting.&lt;/p&gt;</description></item><item><title>LeetCode HARD 60 Permutation Sequence Summary</title><link>https://ai-digest.derricklin.net/career/leetcode-hard-60-permutation-sequence-summary/</link><pubDate>Fri, 17 Apr 2026 00:00:00 +0000</pubDate><guid>https://ai-digest.derricklin.net/career/leetcode-hard-60-permutation-sequence-summary/</guid><description>&lt;p&gt;Generated by Codex with GPT-5&lt;/p&gt;
&lt;h2 id="quick-facts"&gt;Quick facts&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Difficulty: &lt;code&gt;HARD&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Problem: &lt;a href="https://leetcode.com/problems/permutation-sequence/" target="_blank"&gt;Permutation Sequence&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Main tags: &lt;code&gt;Math&lt;/code&gt;, &lt;code&gt;Recursion&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="what-the-problem-is-really-asking"&gt;What the problem is really asking&lt;/h2&gt;
&lt;p&gt;The numbers &lt;code&gt;1&lt;/code&gt; through &lt;code&gt;n&lt;/code&gt; can form &lt;code&gt;n!&lt;/code&gt; different permutations in lexicographic order.&lt;/p&gt;
&lt;p&gt;The problem asks for the &lt;code&gt;k&lt;/code&gt;th permutation in that ordering without generating all the earlier ones first.&lt;/p&gt;</description></item><item><title>LeetCode HARD 68 Text Justification Summary</title><link>https://ai-digest.derricklin.net/career/leetcode-hard-68-text-justification-summary/</link><pubDate>Fri, 17 Apr 2026 00:00:00 +0000</pubDate><guid>https://ai-digest.derricklin.net/career/leetcode-hard-68-text-justification-summary/</guid><description>&lt;p&gt;Generated by Codex with GPT-5&lt;/p&gt;
&lt;h2 id="quick-facts"&gt;Quick facts&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Difficulty: &lt;code&gt;HARD&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Problem: &lt;a href="https://leetcode.com/problems/text-justification/" target="_blank"&gt;Text Justification&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Main tags: &lt;code&gt;Array&lt;/code&gt;, &lt;code&gt;String&lt;/code&gt;, &lt;code&gt;Simulation&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="what-the-problem-is-really-asking"&gt;What the problem is really asking&lt;/h2&gt;
&lt;p&gt;The input is a list of words and a fixed line width. The task is to break the words into lines and return the exact text layout that a formatter would produce.&lt;/p&gt;</description></item><item><title>LeetCode MEDIUM 24 Swap Nodes in Pairs Summary</title><link>https://ai-digest.derricklin.net/career/leetcode-medium-24-swap-nodes-in-pairs-summary/</link><pubDate>Fri, 17 Apr 2026 00:00:00 +0000</pubDate><guid>https://ai-digest.derricklin.net/career/leetcode-medium-24-swap-nodes-in-pairs-summary/</guid><description>&lt;p&gt;Generated by Codex with GPT-5&lt;/p&gt;
&lt;h2 id="quick-facts"&gt;Quick facts&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Difficulty: &lt;code&gt;MEDIUM&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Problem: &lt;a href="https://leetcode.com/problems/swap-nodes-in-pairs/" target="_blank"&gt;Swap Nodes in Pairs&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Main tags: &lt;code&gt;Linked List&lt;/code&gt;, &lt;code&gt;Recursion&lt;/code&gt;, &lt;code&gt;Iteration&lt;/code&gt;, &lt;code&gt;Pointer Manipulation&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="what-the-problem-is-really-asking"&gt;What the problem is really asking&lt;/h2&gt;
&lt;p&gt;The input is the head of a singly linked list. Every adjacent pair of nodes must be swapped:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;1 -&amp;gt; 2 -&amp;gt; 3 -&amp;gt; 4&lt;/code&gt; becomes &lt;code&gt;2 -&amp;gt; 1 -&amp;gt; 4 -&amp;gt; 3&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;1 -&amp;gt; 2 -&amp;gt; 3&lt;/code&gt; becomes &lt;code&gt;2 -&amp;gt; 1 -&amp;gt; 3&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The important constraint is that node values cannot be copied around. The solution has to rewire the list itself.&lt;/p&gt;</description></item><item><title>LeetCode MEDIUM 287 Find the Duplicate Number Summary</title><link>https://ai-digest.derricklin.net/career/leetcode-medium-287-find-the-duplicate-number-summary/</link><pubDate>Fri, 17 Apr 2026 00:00:00 +0000</pubDate><guid>https://ai-digest.derricklin.net/career/leetcode-medium-287-find-the-duplicate-number-summary/</guid><description>&lt;p&gt;Generated by Codex with GPT-5&lt;/p&gt;
&lt;h2 id="quick-facts"&gt;Quick facts&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Difficulty: &lt;code&gt;MEDIUM&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Problem: &lt;a href="https://leetcode.com/problems/find-the-duplicate-number/" target="_blank"&gt;Find the Duplicate Number&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Main tags: &lt;code&gt;Array&lt;/code&gt;, &lt;code&gt;Two Pointers&lt;/code&gt;, &lt;code&gt;Binary Search&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="what-the-problem-is-really-asking"&gt;What the problem is really asking&lt;/h2&gt;
&lt;p&gt;The input has length &lt;code&gt;n + 1&lt;/code&gt;, but every value is guaranteed to be in the range &lt;code&gt;1&lt;/code&gt; through &lt;code&gt;n&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;That guarantee means one value must appear more than once. So the duplicate is not the hard part. The hard part is satisfying the interview constraints at the same time:&lt;/p&gt;</description></item><item><title>LeetCode MEDIUM 399 Evaluate Division Summary</title><link>https://ai-digest.derricklin.net/career/leetcode-medium-399-evaluate-division-summary/</link><pubDate>Fri, 17 Apr 2026 00:00:00 +0000</pubDate><guid>https://ai-digest.derricklin.net/career/leetcode-medium-399-evaluate-division-summary/</guid><description>&lt;p&gt;Generated by Codex with GPT-5&lt;/p&gt;
&lt;h2 id="quick-facts"&gt;Quick facts&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Difficulty: &lt;code&gt;MEDIUM&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Problem: &lt;a href="https://leetcode.com/problems/evaluate-division/" target="_blank"&gt;Evaluate Division&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Main tags: &lt;code&gt;Graph&lt;/code&gt;, &lt;code&gt;DFS&lt;/code&gt;, &lt;code&gt;BFS&lt;/code&gt;, &lt;code&gt;Union-Find&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="what-the-problem-is-really-asking"&gt;What the problem is really asking&lt;/h2&gt;
&lt;p&gt;Each equation like &lt;code&gt;a / b = 2.0&lt;/code&gt; gives a multiplicative relationship between two variables.&lt;/p&gt;
&lt;p&gt;The query &lt;code&gt;x / y&lt;/code&gt; asks:&lt;/p&gt;
&lt;p&gt;can the known equations connect &lt;code&gt;x&lt;/code&gt; to &lt;code&gt;y&lt;/code&gt;, and if they can, what ratio do those equations imply?&lt;/p&gt;</description></item><item><title>LeetCode MEDIUM 50 Pow(x, n) Summary</title><link>https://ai-digest.derricklin.net/career/leetcode-medium-50-powx-n-summary/</link><pubDate>Fri, 17 Apr 2026 00:00:00 +0000</pubDate><guid>https://ai-digest.derricklin.net/career/leetcode-medium-50-powx-n-summary/</guid><description>&lt;p&gt;Generated by Codex with GPT-5&lt;/p&gt;
&lt;h2 id="quick-facts"&gt;Quick facts&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Difficulty: &lt;code&gt;MEDIUM&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Problem: &lt;a href="https://leetcode.com/problems/powx-n/" target="_blank"&gt;Pow(x, n)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Main tags: &lt;code&gt;Math&lt;/code&gt;, &lt;code&gt;Recursion&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="what-the-problem-is-really-asking"&gt;What the problem is really asking&lt;/h2&gt;
&lt;p&gt;The task is to compute &lt;code&gt;x^n&lt;/code&gt;, but the real constraint is not the arithmetic itself. It is that &lt;code&gt;n&lt;/code&gt; can be very large, including negative values, so a straightforward loop that multiplies &lt;code&gt;x&lt;/code&gt; by itself &lt;code&gt;|n|&lt;/code&gt; times is too slow.&lt;/p&gt;</description></item><item><title>LeetCode HARD 25 Reverse Nodes in k-Group Summary</title><link>https://ai-digest.derricklin.net/career/leetcode-hard-25-reverse-nodes-in-k-group-summary/</link><pubDate>Thu, 16 Apr 2026 00:00:00 +0000</pubDate><guid>https://ai-digest.derricklin.net/career/leetcode-hard-25-reverse-nodes-in-k-group-summary/</guid><description>&lt;p&gt;Generated by Codex with GPT-5&lt;/p&gt;
&lt;h2 id="quick-facts"&gt;Quick facts&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Difficulty: &lt;code&gt;HARD&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Problem: &lt;a href="https://leetcode.com/problems/reverse-nodes-in-k-group/" target="_blank"&gt;Reverse Nodes in k-Group&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Main tags: &lt;code&gt;Linked List&lt;/code&gt;, &lt;code&gt;Recursion&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="what-the-problem-is-really-asking"&gt;What the problem is really asking&lt;/h2&gt;
&lt;p&gt;The list must be processed in consecutive chunks of size &lt;code&gt;k&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;If a full chunk exists, those &lt;code&gt;k&lt;/code&gt; nodes should be reversed in place. If fewer than &lt;code&gt;k&lt;/code&gt; nodes remain at the end, that tail must stay exactly as it is.&lt;/p&gt;</description></item><item><title>LeetCode MEDIUM 137 Single Number II Summary</title><link>https://ai-digest.derricklin.net/career/leetcode-medium-137-single-number-ii-summary/</link><pubDate>Thu, 16 Apr 2026 00:00:00 +0000</pubDate><guid>https://ai-digest.derricklin.net/career/leetcode-medium-137-single-number-ii-summary/</guid><description>&lt;p&gt;Generated by Codex with GPT-5&lt;/p&gt;
&lt;h2 id="quick-facts"&gt;Quick facts&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Difficulty: &lt;code&gt;MEDIUM&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Problem: &lt;a href="https://leetcode.com/problems/single-number-ii/" target="_blank"&gt;Single Number II&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Main tags: &lt;code&gt;Array&lt;/code&gt;, &lt;code&gt;Bit Manipulation&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Core requirement: linear time and constant extra space&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="what-the-problem-is-really-asking"&gt;What the problem is really asking&lt;/h2&gt;
&lt;p&gt;The array contains one value that appears exactly once, while every other value appears exactly three times. The obvious &lt;code&gt;Counter&lt;/code&gt; or hash-map solution works, but it uses extra memory, so it does not satisfy the strongest version of the problem.&lt;/p&gt;</description></item><item><title>LeetCode MEDIUM 45 Jump Game II Summary</title><link>https://ai-digest.derricklin.net/career/leetcode-medium-45-jump-game-ii-summary/</link><pubDate>Thu, 16 Apr 2026 00:00:00 +0000</pubDate><guid>https://ai-digest.derricklin.net/career/leetcode-medium-45-jump-game-ii-summary/</guid><description>&lt;p&gt;Generated by Codex with GPT-5&lt;/p&gt;
&lt;h2 id="quick-facts"&gt;Quick facts&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Difficulty: &lt;code&gt;MEDIUM&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Problem: &lt;a href="https://leetcode.com/problems/jump-game-ii/" target="_blank"&gt;Jump Game II&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Main tags: &lt;code&gt;Array&lt;/code&gt;, &lt;code&gt;Dynamic Programming&lt;/code&gt;, &lt;code&gt;Greedy&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="what-the-problem-is-really-asking"&gt;What the problem is really asking&lt;/h2&gt;
&lt;p&gt;Each position tells how far forward it can jump. The goal is not to maximize distance on each move. The goal is to reach the last index using as few jumps as possible.&lt;/p&gt;</description></item><item><title>LeetCode MEDIUM 57 Insert Interval Summary</title><link>https://ai-digest.derricklin.net/career/leetcode-medium-57-insert-interval-summary/</link><pubDate>Thu, 16 Apr 2026 00:00:00 +0000</pubDate><guid>https://ai-digest.derricklin.net/career/leetcode-medium-57-insert-interval-summary/</guid><description>&lt;p&gt;Generated by Codex with GPT-5&lt;/p&gt;
&lt;h2 id="quick-facts"&gt;Quick facts&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Difficulty: &lt;code&gt;MEDIUM&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Problem: &lt;a href="https://leetcode.com/problems/insert-interval/" target="_blank"&gt;Insert Interval&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Main tag: &lt;code&gt;Array&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="what-the-problem-is-really-asking"&gt;What the problem is really asking&lt;/h2&gt;
&lt;p&gt;The input intervals are already sorted by start time, and they do not overlap with each other.&lt;/p&gt;
&lt;p&gt;That matters because the problem is not asking to rebuild the whole interval set from scratch. It is asking where one new interval fits into an already clean timeline.&lt;/p&gt;</description></item><item><title>LeetCode MEDIUM 73 Set Matrix Zeroes Summary</title><link>https://ai-digest.derricklin.net/career/leetcode-medium-73-set-matrix-zeroes-summary/</link><pubDate>Thu, 16 Apr 2026 00:00:00 +0000</pubDate><guid>https://ai-digest.derricklin.net/career/leetcode-medium-73-set-matrix-zeroes-summary/</guid><description>&lt;p&gt;Generated by Codex with GPT-5&lt;/p&gt;
&lt;h2 id="quick-facts"&gt;Quick facts&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Difficulty: &lt;code&gt;MEDIUM&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Problem: &lt;a href="https://leetcode.com/problems/set-matrix-zeroes/" target="_blank"&gt;Set Matrix Zeroes&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Main tags: &lt;code&gt;Array&lt;/code&gt;, &lt;code&gt;Hash Table&lt;/code&gt;, &lt;code&gt;Matrix&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="what-the-problem-is-really-asking"&gt;What the problem is really asking&lt;/h2&gt;
&lt;p&gt;The rule sounds simple:&lt;/p&gt;
&lt;p&gt;if any cell contains &lt;code&gt;0&lt;/code&gt;, then every cell in that cell&amp;rsquo;s row and every cell in that cell&amp;rsquo;s column must become &lt;code&gt;0&lt;/code&gt;.&lt;/p&gt;</description></item><item><title>LeetCode HARD 32 Longest Valid Parentheses Summary</title><link>https://ai-digest.derricklin.net/career/leetcode-hard-32-longest-valid-parentheses-summary/</link><pubDate>Wed, 15 Apr 2026 00:00:00 +0000</pubDate><guid>https://ai-digest.derricklin.net/career/leetcode-hard-32-longest-valid-parentheses-summary/</guid><description>&lt;p&gt;Generated by Codex with GPT-5&lt;/p&gt;
&lt;h2 id="quick-facts"&gt;Quick facts&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Difficulty: &lt;code&gt;HARD&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Problem: &lt;a href="https://leetcode.com/problems/longest-valid-parentheses/" target="_blank"&gt;Longest Valid Parentheses&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Main tags: &lt;code&gt;String&lt;/code&gt;, &lt;code&gt;Dynamic Programming&lt;/code&gt;, &lt;code&gt;Stack&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="what-the-problem-is-really-asking"&gt;What the problem is really asking&lt;/h2&gt;
&lt;p&gt;The input is a string made only of &lt;code&gt;(&lt;/code&gt; and &lt;code&gt;)&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;The task is not to check whether the whole string is valid. The task is to find the length of the longest &lt;strong&gt;contiguous&lt;/strong&gt; substring that forms a valid parentheses expression.&lt;/p&gt;</description></item><item><title>LeetCode HARD 41 First Missing Positive Summary</title><link>https://ai-digest.derricklin.net/career/leetcode-hard-41-first-missing-positive-summary/</link><pubDate>Wed, 15 Apr 2026 00:00:00 +0000</pubDate><guid>https://ai-digest.derricklin.net/career/leetcode-hard-41-first-missing-positive-summary/</guid><description>&lt;p&gt;Generated by Codex with GPT-5&lt;/p&gt;
&lt;h2 id="quick-facts"&gt;Quick facts&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Difficulty: &lt;code&gt;HARD&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Problem: &lt;a href="https://leetcode.com/problems/first-missing-positive/" target="_blank"&gt;First Missing Positive&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Main tags: &lt;code&gt;Array&lt;/code&gt;, &lt;code&gt;Hash Table&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="what-the-problem-is-really-asking"&gt;What the problem is really asking&lt;/h2&gt;
&lt;p&gt;Given an unsorted integer array, return the smallest positive integer that does not appear in the array.&lt;/p&gt;
&lt;p&gt;The tricky part is not the definition of the answer. The tricky part is the constraint: the best solution must run in &lt;code&gt;O(n)&lt;/code&gt; time and use only &lt;code&gt;O(1)&lt;/code&gt; extra space.&lt;/p&gt;</description></item><item><title>LeetCode MEDIUM 12 Integer to Roman Summary</title><link>https://ai-digest.derricklin.net/career/leetcode-medium-12-integer-to-roman-summary/</link><pubDate>Wed, 15 Apr 2026 00:00:00 +0000</pubDate><guid>https://ai-digest.derricklin.net/career/leetcode-medium-12-integer-to-roman-summary/</guid><description>&lt;p&gt;Generated by Codex with GPT-5&lt;/p&gt;
&lt;h2 id="quick-facts"&gt;Quick facts&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Difficulty: &lt;code&gt;MEDIUM&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Problem: &lt;a href="https://leetcode.com/problems/integer-to-roman/" target="_blank"&gt;Integer to Roman&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Main tags: &lt;code&gt;Hash Table&lt;/code&gt;, &lt;code&gt;Math&lt;/code&gt;, &lt;code&gt;String&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="what-the-problem-is-really-asking"&gt;What the problem is really asking&lt;/h2&gt;
&lt;p&gt;The input is an integer between &lt;code&gt;1&lt;/code&gt; and &lt;code&gt;3999&lt;/code&gt;, and the output must be its Roman numeral form.&lt;/p&gt;
&lt;p&gt;The main challenge is not basic lookup. The hard part is handling the subtractive cases correctly:&lt;/p&gt;</description></item><item><title>LeetCode MEDIUM 130 Surrounded Regions Summary</title><link>https://ai-digest.derricklin.net/career/leetcode-medium-130-surrounded-regions-summary/</link><pubDate>Wed, 15 Apr 2026 00:00:00 +0000</pubDate><guid>https://ai-digest.derricklin.net/career/leetcode-medium-130-surrounded-regions-summary/</guid><description>&lt;p&gt;Generated by Codex with GPT-5&lt;/p&gt;
&lt;h2 id="quick-facts"&gt;Quick facts&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Difficulty: &lt;code&gt;MEDIUM&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Problem: &lt;a href="https://leetcode.com/problems/surrounded-regions/" target="_blank"&gt;Surrounded Regions&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Main tags: &lt;code&gt;Array&lt;/code&gt;, &lt;code&gt;Depth-First Search&lt;/code&gt;, &lt;code&gt;Breadth-First Search&lt;/code&gt;, &lt;code&gt;Union-Find&lt;/code&gt;, &lt;code&gt;Matrix&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="what-the-problem-is-really-asking"&gt;What the problem is really asking&lt;/h2&gt;
&lt;p&gt;The board contains &lt;code&gt;X&lt;/code&gt; and &lt;code&gt;O&lt;/code&gt;. The task is to flip only the &lt;code&gt;O&lt;/code&gt; cells that belong to regions fully enclosed by &lt;code&gt;X&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;The important phrase is &amp;ldquo;surrounded region.&amp;rdquo; A region is safe if it can reach the border through adjacent &lt;code&gt;O&lt;/code&gt; cells. A region is captured only if there is no such path.&lt;/p&gt;</description></item><item><title>LeetCode MEDIUM 16 3Sum Closest Summary</title><link>https://ai-digest.derricklin.net/career/leetcode-medium-16-3sum-closest-summary/</link><pubDate>Wed, 15 Apr 2026 00:00:00 +0000</pubDate><guid>https://ai-digest.derricklin.net/career/leetcode-medium-16-3sum-closest-summary/</guid><description>&lt;p&gt;Generated by Codex with GPT-5&lt;/p&gt;
&lt;h2 id="quick-facts"&gt;Quick facts&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Difficulty: &lt;code&gt;MEDIUM&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Problem: &lt;a href="https://leetcode.com/problems/3sum-closest/" target="_blank"&gt;3Sum Closest&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Main tags: &lt;code&gt;Array&lt;/code&gt;, &lt;code&gt;Two Pointers&lt;/code&gt;, &lt;code&gt;Sorting&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="what-the-problem-is-really-asking"&gt;What the problem is really asking&lt;/h2&gt;
&lt;p&gt;The input is an integer array and a target value. The job is to pick exactly three numbers whose sum is as close to the target as possible.&lt;/p&gt;</description></item><item><title>LeetCode MEDIUM 176 Second Highest Salary Summary</title><link>https://ai-digest.derricklin.net/career/leetcode-medium-176-second-highest-salary-summary/</link><pubDate>Wed, 15 Apr 2026 00:00:00 +0000</pubDate><guid>https://ai-digest.derricklin.net/career/leetcode-medium-176-second-highest-salary-summary/</guid><description>&lt;p&gt;Generated by Codex with GPT-5&lt;/p&gt;
&lt;h2 id="quick-facts"&gt;Quick facts&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Difficulty: &lt;code&gt;MEDIUM&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Problem: &lt;a href="https://leetcode.com/problems/second-highest-salary/" target="_blank"&gt;Second Highest Salary&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Main tags: &lt;code&gt;Database&lt;/code&gt;, &lt;code&gt;SQL&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="what-the-problem-is-really-asking"&gt;What the problem is really asking&lt;/h2&gt;
&lt;p&gt;There is an &lt;code&gt;Employee&lt;/code&gt; table with a salary column. The task is to return the second-highest &lt;strong&gt;distinct&lt;/strong&gt; salary value.&lt;/p&gt;
&lt;p&gt;That word &amp;ldquo;distinct&amp;rdquo; is the whole trick.&lt;/p&gt;
&lt;p&gt;If the largest salary appears many times, it still counts as only one rank. So this is not:&lt;/p&gt;</description></item><item><title>LeetCode MEDIUM 19 Remove Nth Node From End of List Summary</title><link>https://ai-digest.derricklin.net/career/leetcode-medium-19-remove-nth-node-from-end-of-list-summary/</link><pubDate>Wed, 15 Apr 2026 00:00:00 +0000</pubDate><guid>https://ai-digest.derricklin.net/career/leetcode-medium-19-remove-nth-node-from-end-of-list-summary/</guid><description>&lt;p&gt;Generated by Codex with GPT-5&lt;/p&gt;
&lt;h2 id="quick-facts"&gt;Quick facts&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Difficulty: &lt;code&gt;MEDIUM&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Problem: &lt;a href="https://leetcode.com/problems/remove-nth-node-from-end-of-list/" target="_blank"&gt;Remove Nth Node From End of List&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Main tags: &lt;code&gt;Linked List&lt;/code&gt;, &lt;code&gt;Two Pointers&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="what-the-problem-is-really-asking"&gt;What the problem is really asking&lt;/h2&gt;
&lt;p&gt;The input is a singly linked list and a positive integer &lt;code&gt;n&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;The task is to delete the node that is &lt;code&gt;n&lt;/code&gt; positions from the end and return the new head.&lt;/p&gt;</description></item><item><title>LeetCode HARD 10 Regular Expression Matching Summary</title><link>https://ai-digest.derricklin.net/career/leetcode-hard-10-regular-expression-matching-summary/</link><pubDate>Tue, 14 Apr 2026 00:00:00 +0000</pubDate><guid>https://ai-digest.derricklin.net/career/leetcode-hard-10-regular-expression-matching-summary/</guid><description>&lt;p&gt;Generated by Codex with GPT-5&lt;/p&gt;
&lt;h2 id="quick-facts"&gt;Quick facts&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Difficulty: &lt;code&gt;HARD&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Problem: &lt;a href="https://leetcode.com/problems/regular-expression-matching/" target="_blank"&gt;Regular Expression Matching&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Main tags: &lt;code&gt;String&lt;/code&gt;, &lt;code&gt;Dynamic Programming&lt;/code&gt;, &lt;code&gt;Recursion&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="what-the-problem-is-really-asking"&gt;What the problem is really asking&lt;/h2&gt;
&lt;p&gt;This problem is not asking for a full regex engine.&lt;/p&gt;
&lt;p&gt;It asks for one very specific kind of full-string match:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;.&lt;/code&gt; matches exactly one arbitrary character&lt;/li&gt;
&lt;li&gt;&lt;code&gt;*&lt;/code&gt; means &amp;ldquo;repeat the immediately previous token zero or more times&amp;rdquo;&lt;/li&gt;
&lt;li&gt;the whole string must match the whole pattern&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;That last rule is the detail that makes many first attempts fail. A match is not enough if there are leftover characters in either the text or the pattern.&lt;/p&gt;</description></item><item><title>LeetCode HARD 37 Sudoku Solver Summary</title><link>https://ai-digest.derricklin.net/career/leetcode-hard-37-sudoku-solver-summary/</link><pubDate>Tue, 14 Apr 2026 00:00:00 +0000</pubDate><guid>https://ai-digest.derricklin.net/career/leetcode-hard-37-sudoku-solver-summary/</guid><description>&lt;p&gt;Generated by Codex with GPT-5&lt;/p&gt;
&lt;h2 id="quick-facts"&gt;Quick facts&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Difficulty: &lt;code&gt;HARD&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Problem: &lt;a href="https://leetcode.com/problems/sudoku-solver/" target="_blank"&gt;Sudoku Solver&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Main tags: &lt;code&gt;Array&lt;/code&gt;, &lt;code&gt;Hash Table&lt;/code&gt;, &lt;code&gt;Backtracking&lt;/code&gt;, &lt;code&gt;Matrix&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="what-the-problem-is-really-asking"&gt;What the problem is really asking&lt;/h2&gt;
&lt;p&gt;This problem is a constraint satisfaction problem disguised as a puzzle.&lt;/p&gt;
&lt;p&gt;The board is almost complete already. The task is to fill each &lt;code&gt;.&lt;/code&gt; with a digit so that three rules are always true:&lt;/p&gt;</description></item><item><title>LeetCode MEDIUM 300 Longest Increasing Subsequence Summary</title><link>https://ai-digest.derricklin.net/career/leetcode-medium-300-longest-increasing-subsequence-summary/</link><pubDate>Tue, 14 Apr 2026 00:00:00 +0000</pubDate><guid>https://ai-digest.derricklin.net/career/leetcode-medium-300-longest-increasing-subsequence-summary/</guid><description>&lt;p&gt;Generated by Codex with GPT-5&lt;/p&gt;
&lt;h2 id="quick-facts"&gt;Quick facts&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Difficulty: &lt;code&gt;MEDIUM&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Problem: &lt;a href="https://leetcode.com/problems/longest-increasing-subsequence/" target="_blank"&gt;Longest Increasing Subsequence&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Main tags: &lt;code&gt;Array&lt;/code&gt;, &lt;code&gt;Binary Search&lt;/code&gt;, &lt;code&gt;Dynamic Programming&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="what-the-problem-is-really-asking"&gt;What the problem is really asking&lt;/h2&gt;
&lt;p&gt;An array of integers is given. The task is to find the length of the longest subsequence whose values are strictly increasing.&lt;/p&gt;
&lt;p&gt;The key word is &lt;code&gt;subsequence&lt;/code&gt;, not &lt;code&gt;subarray&lt;/code&gt;.&lt;/p&gt;</description></item><item><title>LeetCode MEDIUM 39 Combination Sum Summary</title><link>https://ai-digest.derricklin.net/career/leetcode-medium-39-combination-sum-summary/</link><pubDate>Tue, 14 Apr 2026 00:00:00 +0000</pubDate><guid>https://ai-digest.derricklin.net/career/leetcode-medium-39-combination-sum-summary/</guid><description>&lt;p&gt;Generated by Codex with GPT-5&lt;/p&gt;
&lt;h2 id="quick-facts"&gt;Quick facts&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Difficulty: &lt;code&gt;MEDIUM&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Problem: &lt;a href="https://leetcode.com/problems/combination-sum/" target="_blank"&gt;Combination Sum&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Main tags: &lt;code&gt;Array&lt;/code&gt;, &lt;code&gt;Backtracking&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="what-the-problem-is-really-asking"&gt;What the problem is really asking&lt;/h2&gt;
&lt;p&gt;The input gives a set of distinct candidate numbers and a target. The task is to return every unique combination of candidates whose sum is exactly the target.&lt;/p&gt;
&lt;p&gt;Two details define the real problem:&lt;/p&gt;</description></item><item><title>LeetCode MEDIUM 6 Zigzag Conversion Summary</title><link>https://ai-digest.derricklin.net/career/leetcode-medium-6-zigzag-conversion-summary/</link><pubDate>Tue, 14 Apr 2026 00:00:00 +0000</pubDate><guid>https://ai-digest.derricklin.net/career/leetcode-medium-6-zigzag-conversion-summary/</guid><description>&lt;p&gt;Generated by Codex with GPT-5&lt;/p&gt;
&lt;h2 id="quick-facts"&gt;Quick facts&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Difficulty: &lt;code&gt;MEDIUM&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Problem: &lt;a href="https://leetcode.com/problems/zigzag-conversion/" target="_blank"&gt;Zigzag Conversion&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Main tags: &lt;code&gt;String&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="what-the-problem-is-really-asking"&gt;What the problem is really asking&lt;/h2&gt;
&lt;p&gt;The problem gives a string and a row count, then asks for the string that would appear if the characters were written in a zigzag pattern and read row by row.&lt;/p&gt;</description></item><item><title>LeetCode MEDIUM 62 Unique Paths Summary</title><link>https://ai-digest.derricklin.net/career/leetcode-medium-62-unique-paths-summary/</link><pubDate>Tue, 14 Apr 2026 00:00:00 +0000</pubDate><guid>https://ai-digest.derricklin.net/career/leetcode-medium-62-unique-paths-summary/</guid><description>&lt;p&gt;Generated by Codex with GPT-5&lt;/p&gt;
&lt;h2 id="quick-facts"&gt;Quick facts&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Difficulty: &lt;code&gt;MEDIUM&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Problem: &lt;a href="https://leetcode.com/problems/unique-paths/" target="_blank"&gt;Unique Paths&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Main tags: &lt;code&gt;Math&lt;/code&gt;, &lt;code&gt;Dynamic Programming&lt;/code&gt;, &lt;code&gt;Combinatorics&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="what-the-problem-is-really-asking"&gt;What the problem is really asking&lt;/h2&gt;
&lt;p&gt;There is an &lt;code&gt;m x n&lt;/code&gt; grid. A robot starts in the top-left corner and wants to reach the bottom-right corner. The robot can only move right or down.&lt;/p&gt;</description></item><item><title>LeetCode MEDIUM 74 Search a 2D Matrix Summary</title><link>https://ai-digest.derricklin.net/career/leetcode-medium-74-search-a-2d-matrix-summary/</link><pubDate>Tue, 14 Apr 2026 00:00:00 +0000</pubDate><guid>https://ai-digest.derricklin.net/career/leetcode-medium-74-search-a-2d-matrix-summary/</guid><description>&lt;p&gt;Generated by Codex with GPT-5&lt;/p&gt;
&lt;h2 id="quick-facts"&gt;Quick facts&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Difficulty: &lt;code&gt;MEDIUM&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Problem: &lt;a href="https://leetcode.com/problems/search-a-2d-matrix/" target="_blank"&gt;Search a 2D Matrix&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Main tags: &lt;code&gt;Array&lt;/code&gt;, &lt;code&gt;Binary Search&lt;/code&gt;, &lt;code&gt;Matrix&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="what-the-problem-is-really-asking"&gt;What the problem is really asking&lt;/h2&gt;
&lt;p&gt;The matrix looks two-dimensional, but the key rule makes it behave like one long sorted array:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;each row is sorted from left to right&lt;/li&gt;
&lt;li&gt;the first value in a row is greater than the last value in the previous row&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;So the task is not really &amp;ldquo;search a grid.&amp;rdquo; It is &amp;ldquo;search a sorted sequence&amp;rdquo; while remembering that the sequence happens to be stored in matrix form.&lt;/p&gt;</description></item><item><title>LeetCode MEDIUM 904 Fruit Into Baskets Summary</title><link>https://ai-digest.derricklin.net/career/leetcode-medium-904-fruit-into-baskets-summary/</link><pubDate>Tue, 14 Apr 2026 00:00:00 +0000</pubDate><guid>https://ai-digest.derricklin.net/career/leetcode-medium-904-fruit-into-baskets-summary/</guid><description>&lt;p&gt;Generated by Codex with GPT-5&lt;/p&gt;
&lt;h2 id="quick-facts"&gt;Quick facts&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Difficulty: &lt;code&gt;MEDIUM&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Problem: &lt;a href="https://leetcode.com/problems/fruit-into-baskets/" target="_blank"&gt;Fruit Into Baskets&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Main tags: &lt;code&gt;Array&lt;/code&gt;, &lt;code&gt;Hash Table&lt;/code&gt;, &lt;code&gt;Sliding Window&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="what-the-problem-is-really-asking"&gt;What the problem is really asking&lt;/h2&gt;
&lt;p&gt;The story sounds specific, but the core problem is simple:&lt;/p&gt;
&lt;p&gt;find the length of the longest contiguous subarray that contains at most two distinct values.&lt;/p&gt;</description></item><item><title>LeetCode HARD 23 Merge k Sorted Lists Summary</title><link>https://ai-digest.derricklin.net/career/leetcode-hard-23-merge-k-sorted-lists-summary/</link><pubDate>Mon, 13 Apr 2026 00:00:00 +0000</pubDate><guid>https://ai-digest.derricklin.net/career/leetcode-hard-23-merge-k-sorted-lists-summary/</guid><description>&lt;p&gt;Generated by Codex with GPT-5&lt;/p&gt;
&lt;h2 id="quick-facts"&gt;Quick facts&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Difficulty: &lt;code&gt;HARD&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Problem: &lt;a href="https://leetcode.com/problems/merge-k-sorted-lists/" target="_blank"&gt;Merge k Sorted Lists&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Main tags: &lt;code&gt;Linked List&lt;/code&gt;, &lt;code&gt;Divide and Conquer&lt;/code&gt;, &lt;code&gt;Heap (Priority Queue)&lt;/code&gt;, &lt;code&gt;Merge Sort&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="what-the-problem-is-really-asking"&gt;What the problem is really asking&lt;/h2&gt;
&lt;p&gt;Each input list is already sorted. The task is to combine all of them into one final sorted linked list without losing that order.&lt;/p&gt;</description></item><item><title>LeetCode MEDIUM 17 Letter Combinations of a Phone Number Summary</title><link>https://ai-digest.derricklin.net/career/leetcode-medium-17-letter-combinations-of-a-phone-number-summary/</link><pubDate>Mon, 13 Apr 2026 00:00:00 +0000</pubDate><guid>https://ai-digest.derricklin.net/career/leetcode-medium-17-letter-combinations-of-a-phone-number-summary/</guid><description>&lt;p&gt;Generated by Codex with GPT-5&lt;/p&gt;
&lt;h2 id="quick-facts"&gt;Quick facts&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Difficulty: &lt;code&gt;MEDIUM&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Problem: &lt;a href="https://leetcode.com/problems/letter-combinations-of-a-phone-number/" target="_blank"&gt;Letter Combinations of a Phone Number&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Main tags: &lt;code&gt;Hash Table&lt;/code&gt;, &lt;code&gt;String&lt;/code&gt;, &lt;code&gt;Backtracking&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="what-the-problem-is-really-asking"&gt;What the problem is really asking&lt;/h2&gt;
&lt;p&gt;Each digit from &lt;code&gt;2&lt;/code&gt; to &lt;code&gt;9&lt;/code&gt; maps to a small set of letters, just like an old phone keypad. Given a string of digits, the task is to return every possible letter string that could be formed by choosing one mapped letter for each digit.&lt;/p&gt;</description></item><item><title>LeetCode MEDIUM 18 4Sum Summary</title><link>https://ai-digest.derricklin.net/career/leetcode-medium-18-4sum-summary/</link><pubDate>Mon, 13 Apr 2026 00:00:00 +0000</pubDate><guid>https://ai-digest.derricklin.net/career/leetcode-medium-18-4sum-summary/</guid><description>&lt;p&gt;Generated by Codex with GPT-5&lt;/p&gt;
&lt;h2 id="quick-facts"&gt;Quick facts&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Difficulty: &lt;code&gt;MEDIUM&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Problem: &lt;a href="https://leetcode.com/problems/4sum/" target="_blank"&gt;4Sum&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Main tags: &lt;code&gt;Array&lt;/code&gt;, &lt;code&gt;Two Pointers&lt;/code&gt;, &lt;code&gt;Sorting&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="what-the-problem-is-really-asking"&gt;What the problem is really asking&lt;/h2&gt;
&lt;p&gt;The surface task is to return every unique quadruplet whose sum equals &lt;code&gt;target&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;The harder part is not the arithmetic. It is avoiding duplicate answers while still searching efficiently.&lt;/p&gt;</description></item><item><title>LeetCode MEDIUM 46 Permutations Summary</title><link>https://ai-digest.derricklin.net/career/leetcode-medium-46-permutations-summary/</link><pubDate>Mon, 13 Apr 2026 00:00:00 +0000</pubDate><guid>https://ai-digest.derricklin.net/career/leetcode-medium-46-permutations-summary/</guid><description>&lt;p&gt;Generated by Codex with GPT-5&lt;/p&gt;
&lt;h2 id="quick-facts"&gt;Quick facts&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Difficulty: &lt;code&gt;MEDIUM&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Problem: &lt;a href="https://leetcode.com/problems/permutations/" target="_blank"&gt;Permutations&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Main tags: &lt;code&gt;Array&lt;/code&gt;, &lt;code&gt;Backtracking&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="what-the-problem-is-really-asking"&gt;What the problem is really asking&lt;/h2&gt;
&lt;p&gt;The input contains distinct integers, and the task is to return every possible ordering of those integers.&lt;/p&gt;
&lt;p&gt;That means the algorithm is not trying to find one best answer. It is trying to systematically explore a decision tree where:&lt;/p&gt;</description></item><item><title>LeetCode MEDIUM 48 Rotate Image Summary</title><link>https://ai-digest.derricklin.net/career/leetcode-medium-48-rotate-image-summary/</link><pubDate>Mon, 13 Apr 2026 00:00:00 +0000</pubDate><guid>https://ai-digest.derricklin.net/career/leetcode-medium-48-rotate-image-summary/</guid><description>&lt;p&gt;Generated by Codex with GPT-5&lt;/p&gt;
&lt;h2 id="quick-facts"&gt;Quick facts&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Difficulty: &lt;code&gt;MEDIUM&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Problem: &lt;a href="https://leetcode.com/problems/rotate-image/" target="_blank"&gt;Rotate Image&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Main tags: &lt;code&gt;Array&lt;/code&gt;, &lt;code&gt;Math&lt;/code&gt;, &lt;code&gt;Matrix&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="what-the-problem-is-really-asking"&gt;What the problem is really asking&lt;/h2&gt;
&lt;p&gt;The input is an &lt;code&gt;n x n&lt;/code&gt; matrix, and the task is to rotate it &lt;code&gt;90&lt;/code&gt; degrees clockwise.&lt;/p&gt;
&lt;p&gt;The important constraint is that the rotation must happen in place. That means the matrix itself must be rearranged without allocating another full &lt;code&gt;n x n&lt;/code&gt; matrix for the final answer.&lt;/p&gt;</description></item><item><title>LeetCode MEDIUM 72 Edit Distance Summary</title><link>https://ai-digest.derricklin.net/career/leetcode-medium-72-edit-distance-summary/</link><pubDate>Mon, 13 Apr 2026 00:00:00 +0000</pubDate><guid>https://ai-digest.derricklin.net/career/leetcode-medium-72-edit-distance-summary/</guid><description>&lt;p&gt;Generated by Codex with GPT-5&lt;/p&gt;
&lt;h2 id="quick-facts"&gt;Quick facts&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Difficulty: &lt;code&gt;MEDIUM&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Problem: &lt;a href="https://leetcode.com/problems/edit-distance/" target="_blank"&gt;Edit Distance&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Main tags: &lt;code&gt;String&lt;/code&gt;, &lt;code&gt;Dynamic Programming&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="what-the-problem-is-really-asking"&gt;What the problem is really asking&lt;/h2&gt;
&lt;p&gt;Two strings are given, &lt;code&gt;word1&lt;/code&gt; and &lt;code&gt;word2&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;The goal is to transform &lt;code&gt;word1&lt;/code&gt; into &lt;code&gt;word2&lt;/code&gt; using as few operations as possible. The allowed operations are:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;insert one character&lt;/li&gt;
&lt;li&gt;delete one character&lt;/li&gt;
&lt;li&gt;replace one character&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;This is not a greedy string-matching problem. A locally good edit can make the rest of the string worse, so the real challenge is deciding which prefixes of the two words should be matched together.&lt;/p&gt;</description></item><item><title>LeetCode MEDIUM 75 Sort Colors Summary</title><link>https://ai-digest.derricklin.net/career/leetcode-medium-75-sort-colors-summary/</link><pubDate>Mon, 13 Apr 2026 00:00:00 +0000</pubDate><guid>https://ai-digest.derricklin.net/career/leetcode-medium-75-sort-colors-summary/</guid><description>&lt;p&gt;Generated by Codex with GPT-5&lt;/p&gt;
&lt;h2 id="quick-facts"&gt;Quick facts&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Difficulty: &lt;code&gt;MEDIUM&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Problem: &lt;a href="https://leetcode.com/problems/sort-colors/" target="_blank"&gt;Sort Colors&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Main tags: &lt;code&gt;Array&lt;/code&gt;, &lt;code&gt;Two Pointers&lt;/code&gt;, &lt;code&gt;Sorting&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="what-the-problem-is-really-asking"&gt;What the problem is really asking&lt;/h2&gt;
&lt;p&gt;The input array contains only &lt;code&gt;0&lt;/code&gt;, &lt;code&gt;1&lt;/code&gt;, and &lt;code&gt;2&lt;/code&gt;. Those values represent three categories, and the goal is to reorder the array in place so all &lt;code&gt;0&lt;/code&gt;s come first, then all &lt;code&gt;1&lt;/code&gt;s, then all &lt;code&gt;2&lt;/code&gt;s.&lt;/p&gt;</description></item><item><title>LeetCode HARD 51 N-Queens Summary</title><link>https://ai-digest.derricklin.net/career/leetcode-hard-51-n-queens-summary/</link><pubDate>Sun, 12 Apr 2026 00:00:00 +0000</pubDate><guid>https://ai-digest.derricklin.net/career/leetcode-hard-51-n-queens-summary/</guid><description>&lt;p&gt;Generated by Codex with GPT-5&lt;/p&gt;
&lt;h2 id="quick-facts"&gt;Quick facts&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Difficulty: &lt;code&gt;HARD&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Problem: &lt;a href="https://leetcode.com/problems/n-queens/" target="_blank"&gt;N-Queens&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Main tags: &lt;code&gt;Array&lt;/code&gt;, &lt;code&gt;Backtracking&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="what-the-problem-is-really-asking"&gt;What the problem is really asking&lt;/h2&gt;
&lt;p&gt;The board details can make this problem look more complicated than it is.&lt;/p&gt;
&lt;p&gt;At a higher level, the task is:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;place exactly one queen in each row&lt;/li&gt;
&lt;li&gt;never reuse a column&lt;/li&gt;
&lt;li&gt;never place two queens on the same diagonal&lt;/li&gt;
&lt;li&gt;return every full placement that satisfies those rules&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;That &amp;ldquo;one queen per row&amp;rdquo; reframing is the key simplification.&lt;/p&gt;</description></item><item><title>LeetCode MEDIUM 198 House Robber Summary</title><link>https://ai-digest.derricklin.net/career/leetcode-medium-198-house-robber-summary/</link><pubDate>Sun, 12 Apr 2026 00:00:00 +0000</pubDate><guid>https://ai-digest.derricklin.net/career/leetcode-medium-198-house-robber-summary/</guid><description>&lt;p&gt;Generated by Codex with GPT-5&lt;/p&gt;
&lt;h2 id="quick-facts"&gt;Quick facts&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Difficulty: &lt;code&gt;MEDIUM&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Problem: &lt;a href="https://leetcode.com/problems/house-robber/" target="_blank"&gt;House Robber&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Main tags: &lt;code&gt;Array&lt;/code&gt;, &lt;code&gt;Dynamic Programming&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="what-the-problem-is-really-asking"&gt;What the problem is really asking&lt;/h2&gt;
&lt;p&gt;Each house has some amount of money. The thief wants the largest total possible, but robbing two neighboring houses triggers the alarm.&lt;/p&gt;
&lt;p&gt;So the real question is:&lt;/p&gt;
&lt;p&gt;At every house, is it better to:&lt;/p&gt;</description></item><item><title>LeetCode MEDIUM 22 Generate Parentheses Summary</title><link>https://ai-digest.derricklin.net/career/leetcode-medium-22-generate-parentheses-summary/</link><pubDate>Sun, 12 Apr 2026 00:00:00 +0000</pubDate><guid>https://ai-digest.derricklin.net/career/leetcode-medium-22-generate-parentheses-summary/</guid><description>&lt;p&gt;Generated by Codex with GPT-5&lt;/p&gt;
&lt;h2 id="quick-facts"&gt;Quick facts&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Difficulty: &lt;code&gt;MEDIUM&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Problem: &lt;a href="https://leetcode.com/problems/generate-parentheses/" target="_blank"&gt;Generate Parentheses&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Main tags: &lt;code&gt;String&lt;/code&gt;, &lt;code&gt;Dynamic Programming&lt;/code&gt;, &lt;code&gt;Backtracking&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="what-the-problem-is-really-asking"&gt;What the problem is really asking&lt;/h2&gt;
&lt;p&gt;Given &lt;code&gt;n&lt;/code&gt; pairs of parentheses, generate every string that is:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;exactly &lt;code&gt;2n&lt;/code&gt; characters long&lt;/li&gt;
&lt;li&gt;made only of &lt;code&gt;(&lt;/code&gt; and &lt;code&gt;)&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;balanced at every point&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The last condition is the important one.&lt;/p&gt;</description></item><item><title>LeetCode MEDIUM 33 Search in Rotated Sorted Array Summary</title><link>https://ai-digest.derricklin.net/career/leetcode-medium-33-search-in-rotated-sorted-array-summary/</link><pubDate>Sun, 12 Apr 2026 00:00:00 +0000</pubDate><guid>https://ai-digest.derricklin.net/career/leetcode-medium-33-search-in-rotated-sorted-array-summary/</guid><description>&lt;p&gt;Generated by Codex with GPT-5&lt;/p&gt;
&lt;h2 id="quick-facts"&gt;Quick facts&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Difficulty: &lt;code&gt;MEDIUM&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Problem: &lt;a href="https://leetcode.com/problems/search-in-rotated-sorted-array/" target="_blank"&gt;Search in Rotated Sorted Array&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Main tags: &lt;code&gt;Array&lt;/code&gt;, &lt;code&gt;Binary Search&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="what-the-problem-is-really-asking"&gt;What the problem is really asking&lt;/h2&gt;
&lt;p&gt;The array started out sorted in ascending order, then got rotated at some pivot.&lt;/p&gt;
&lt;p&gt;That means a sequence like &lt;code&gt;[0, 1, 2, 4, 5, 6, 7]&lt;/code&gt; might become &lt;code&gt;[4, 5, 6, 7, 0, 1, 2]&lt;/code&gt;.&lt;/p&gt;</description></item><item><title>LeetCode MEDIUM 34 Find First and Last Position of Element in Sorted Array Summary</title><link>https://ai-digest.derricklin.net/career/leetcode-medium-34-find-first-and-last-position-of-element-in-sorted-array-summary/</link><pubDate>Sun, 12 Apr 2026 00:00:00 +0000</pubDate><guid>https://ai-digest.derricklin.net/career/leetcode-medium-34-find-first-and-last-position-of-element-in-sorted-array-summary/</guid><description>&lt;p&gt;Generated by Codex with GPT-5&lt;/p&gt;
&lt;h2 id="quick-facts"&gt;Quick facts&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Difficulty: &lt;code&gt;MEDIUM&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Problem: &lt;a href="https://leetcode.com/problems/find-first-and-last-position-of-element-in-sorted-array/" target="_blank"&gt;Find First and Last Position of Element in Sorted Array&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Main tags: &lt;code&gt;Array&lt;/code&gt;, &lt;code&gt;Binary Search&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="what-the-problem-is-really-asking"&gt;What the problem is really asking&lt;/h2&gt;
&lt;p&gt;The input array is sorted, and the target value may appear many times in one contiguous block.&lt;/p&gt;
&lt;p&gt;The task is not just to decide whether the target exists. It is to return the exact starting and ending indices of that block.&lt;/p&gt;</description></item><item><title>LeetCode MEDIUM 49 Group Anagrams Summary</title><link>https://ai-digest.derricklin.net/career/leetcode-medium-49-group-anagrams-summary/</link><pubDate>Sun, 12 Apr 2026 00:00:00 +0000</pubDate><guid>https://ai-digest.derricklin.net/career/leetcode-medium-49-group-anagrams-summary/</guid><description>&lt;p&gt;Generated by Codex with GPT-5&lt;/p&gt;
&lt;h2 id="quick-facts"&gt;Quick facts&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Difficulty: &lt;code&gt;MEDIUM&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Problem: &lt;a href="https://leetcode.com/problems/group-anagrams/" target="_blank"&gt;Group Anagrams&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Main tags: &lt;code&gt;Array&lt;/code&gt;, &lt;code&gt;Hash Table&lt;/code&gt;, &lt;code&gt;String&lt;/code&gt;, &lt;code&gt;Sorting&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="what-the-problem-is-really-asking"&gt;What the problem is really asking&lt;/h2&gt;
&lt;p&gt;Two strings belong in the same group if they use the exact same letters with the exact same counts, just in a different order.&lt;/p&gt;
&lt;p&gt;So the problem is not really about comparing every string against every other string. It is about finding a stable &amp;ldquo;signature&amp;rdquo; for each word, so all words with the same signature land in the same bucket.&lt;/p&gt;</description></item><item><title>LeetCode MEDIUM 54 Spiral Matrix Summary</title><link>https://ai-digest.derricklin.net/career/leetcode-medium-54-spiral-matrix-summary/</link><pubDate>Sun, 12 Apr 2026 00:00:00 +0000</pubDate><guid>https://ai-digest.derricklin.net/career/leetcode-medium-54-spiral-matrix-summary/</guid><description>&lt;p&gt;Generated by Codex with GPT-5&lt;/p&gt;
&lt;h2 id="quick-facts"&gt;Quick facts&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Difficulty: &lt;code&gt;MEDIUM&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Problem: &lt;a href="https://leetcode.com/problems/spiral-matrix/" target="_blank"&gt;Spiral Matrix&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Main tags: &lt;code&gt;Array&lt;/code&gt;, &lt;code&gt;Matrix&lt;/code&gt;, &lt;code&gt;Simulation&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="what-the-problem-is-really-asking"&gt;What the problem is really asking&lt;/h2&gt;
&lt;p&gt;The input is a 2D matrix. The task is to return every value exactly once in spiral order:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;go left to right across the top&lt;/li&gt;
&lt;li&gt;then top to bottom down the right side&lt;/li&gt;
&lt;li&gt;then right to left across the bottom&lt;/li&gt;
&lt;li&gt;then bottom to top up the left side&lt;/li&gt;
&lt;li&gt;keep repeating until there is nothing left&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;This is a traversal problem. Nothing in the matrix needs to be modified. The only challenge is knowing when to turn and when a side has already been fully consumed.&lt;/p&gt;</description></item><item><title>LeetCode MEDIUM 55 Jump Game Summary</title><link>https://ai-digest.derricklin.net/career/leetcode-medium-55-jump-game-summary/</link><pubDate>Sun, 12 Apr 2026 00:00:00 +0000</pubDate><guid>https://ai-digest.derricklin.net/career/leetcode-medium-55-jump-game-summary/</guid><description>&lt;p&gt;Generated by Codex with GPT-5&lt;/p&gt;
&lt;h2 id="quick-facts"&gt;Quick facts&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Difficulty: &lt;code&gt;MEDIUM&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Problem: &lt;a href="https://leetcode.com/problems/jump-game/" target="_blank"&gt;Jump Game&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Main tags: &lt;code&gt;Array&lt;/code&gt;, &lt;code&gt;Dynamic Programming&lt;/code&gt;, &lt;code&gt;Greedy&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="what-the-problem-is-really-asking"&gt;What the problem is really asking&lt;/h2&gt;
&lt;p&gt;Each position tells how far the player is allowed to jump from that spot.&lt;/p&gt;
&lt;p&gt;The goal is not to find the minimum number of jumps. It is only to decide whether the last index is reachable at all.&lt;/p&gt;</description></item><item><title>LeetCode MEDIUM 128 Longest Consecutive Sequence Summary</title><link>https://ai-digest.derricklin.net/career/leetcode-medium-128-longest-consecutive-sequence-summary/</link><pubDate>Sat, 11 Apr 2026 00:00:00 +0000</pubDate><guid>https://ai-digest.derricklin.net/career/leetcode-medium-128-longest-consecutive-sequence-summary/</guid><description>&lt;p&gt;Generated by Codex with GPT-5&lt;/p&gt;
&lt;h2 id="quick-facts"&gt;Quick facts&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Difficulty: &lt;code&gt;MEDIUM&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Problem: &lt;a href="https://leetcode.com/problems/longest-consecutive-sequence/" target="_blank"&gt;Longest Consecutive Sequence&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Main tags: &lt;code&gt;Array&lt;/code&gt;, &lt;code&gt;Hash Table&lt;/code&gt;, &lt;code&gt;Union-Find&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="what-the-problem-is-really-asking"&gt;What the problem is really asking&lt;/h2&gt;
&lt;p&gt;The input is an unsorted integer array. The task is to find the length of the longest run of values that can be arranged as &lt;code&gt;x, x + 1, x + 2, ...&lt;/code&gt;.&lt;/p&gt;</description></item><item><title>LeetCode MEDIUM 15 3Sum Summary</title><link>https://ai-digest.derricklin.net/career/leetcode-medium-15-3sum-summary/</link><pubDate>Sat, 11 Apr 2026 00:00:00 +0000</pubDate><guid>https://ai-digest.derricklin.net/career/leetcode-medium-15-3sum-summary/</guid><description>&lt;p&gt;Generated by Codex with GPT-5&lt;/p&gt;
&lt;h2 id="quick-facts"&gt;Quick facts&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Difficulty: &lt;code&gt;MEDIUM&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Problem: &lt;a href="https://leetcode.com/problems/3sum/" target="_blank"&gt;3Sum&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Main tags: &lt;code&gt;Array&lt;/code&gt;, &lt;code&gt;Two Pointers&lt;/code&gt;, &lt;code&gt;Sorting&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="what-the-problem-is-really-asking"&gt;What the problem is really asking&lt;/h2&gt;
&lt;p&gt;The input is an integer array, and the goal is to return every unique triplet whose values add up to &lt;code&gt;0&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Two details make the problem harder than it looks:&lt;/p&gt;</description></item><item><title>LeetCode MEDIUM 31 Next Permutation Summary</title><link>https://ai-digest.derricklin.net/career/leetcode-medium-31-next-permutation-summary/</link><pubDate>Sat, 11 Apr 2026 00:00:00 +0000</pubDate><guid>https://ai-digest.derricklin.net/career/leetcode-medium-31-next-permutation-summary/</guid><description>&lt;p&gt;Generated by Codex with GPT-5&lt;/p&gt;
&lt;h2 id="quick-facts"&gt;Quick facts&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Difficulty: &lt;code&gt;MEDIUM&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Problem: &lt;a href="https://leetcode.com/problems/next-permutation/" target="_blank"&gt;Next Permutation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Main tags: &lt;code&gt;Array&lt;/code&gt;, &lt;code&gt;Two Pointers&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="what-the-problem-is-really-asking"&gt;What the problem is really asking&lt;/h2&gt;
&lt;p&gt;The array represents one permutation of the numbers.&lt;/p&gt;
&lt;p&gt;The task is to mutate it into the very next permutation in lexicographic order, which means:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;make the number just a little larger&lt;/li&gt;
&lt;li&gt;keep that increase as small as possible&lt;/li&gt;
&lt;li&gt;do everything in place&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;If the current permutation is already the largest possible one, such as &lt;code&gt;[3, 2, 1]&lt;/code&gt;, then there is no larger answer. In that case, the correct result is the smallest permutation, which is ascending order.&lt;/p&gt;</description></item><item><title>LeetCode MEDIUM 394 Decode String Summary</title><link>https://ai-digest.derricklin.net/career/leetcode-medium-394-decode-string-summary/</link><pubDate>Sat, 11 Apr 2026 00:00:00 +0000</pubDate><guid>https://ai-digest.derricklin.net/career/leetcode-medium-394-decode-string-summary/</guid><description>&lt;p&gt;Generated by Codex with GPT-5&lt;/p&gt;
&lt;h2 id="quick-facts"&gt;Quick facts&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Difficulty: &lt;code&gt;MEDIUM&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Problem: &lt;a href="https://leetcode.com/problems/decode-string/" target="_blank"&gt;Decode String&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Main tags: &lt;code&gt;String&lt;/code&gt;, &lt;code&gt;Stack&lt;/code&gt;, &lt;code&gt;Recursion&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="what-the-problem-is-really-asking"&gt;What the problem is really asking&lt;/h2&gt;
&lt;p&gt;The input is an encoded string where patterns like &lt;code&gt;3[ab]&lt;/code&gt; mean &amp;ldquo;repeat &lt;code&gt;ab&lt;/code&gt; three times.&amp;rdquo; The tricky part is that the repeated part can itself contain more encoded pieces, such as &lt;code&gt;3[a2[c]]&lt;/code&gt;.&lt;/p&gt;</description></item><item><title>LeetCode MEDIUM 53 Maximum Subarray Summary</title><link>https://ai-digest.derricklin.net/career/leetcode-medium-53-maximum-subarray-summary/</link><pubDate>Sat, 11 Apr 2026 00:00:00 +0000</pubDate><guid>https://ai-digest.derricklin.net/career/leetcode-medium-53-maximum-subarray-summary/</guid><description>&lt;p&gt;Generated by Codex with GPT-5&lt;/p&gt;
&lt;h2 id="quick-facts"&gt;Quick facts&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Difficulty: &lt;code&gt;MEDIUM&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Problem: &lt;a href="https://leetcode.com/problems/maximum-subarray/" target="_blank"&gt;Maximum Subarray&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Main tags: &lt;code&gt;Array&lt;/code&gt;, &lt;code&gt;Divide and Conquer&lt;/code&gt;, &lt;code&gt;Dynamic Programming&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="what-the-problem-is-really-asking"&gt;What the problem is really asking&lt;/h2&gt;
&lt;p&gt;The input is an integer array, and the task is to choose one &lt;strong&gt;contiguous&lt;/strong&gt; subarray whose sum is as large as possible.&lt;/p&gt;
&lt;p&gt;The important constraint is contiguity. This is not &amp;ldquo;pick the best numbers anywhere in the array.&amp;rdquo; Once a starting point is chosen, the subarray must be one uninterrupted block.&lt;/p&gt;</description></item><item><title>LeetCode MEDIUM 56 Merge Intervals Summary</title><link>https://ai-digest.derricklin.net/career/leetcode-medium-56-merge-intervals-summary/</link><pubDate>Sat, 11 Apr 2026 00:00:00 +0000</pubDate><guid>https://ai-digest.derricklin.net/career/leetcode-medium-56-merge-intervals-summary/</guid><description>&lt;p&gt;Generated by Codex with GPT-5&lt;/p&gt;
&lt;h2 id="quick-facts"&gt;Quick facts&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Difficulty: &lt;code&gt;MEDIUM&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Problem: &lt;a href="https://leetcode.com/problems/merge-intervals/" target="_blank"&gt;Merge Intervals&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Main tags: &lt;code&gt;Array&lt;/code&gt;, &lt;code&gt;Sorting&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="what-the-problem-is-really-asking"&gt;What the problem is really asking&lt;/h2&gt;
&lt;p&gt;The input is a list of inclusive intervals like &lt;code&gt;[start, end]&lt;/code&gt;. The goal is to combine every set of overlapping intervals and return the smallest list of non-overlapping intervals that covers the same ranges.&lt;/p&gt;</description></item><item><title>LeetCode MEDIUM 7 Reverse Integer Summary</title><link>https://ai-digest.derricklin.net/career/leetcode-medium-7-reverse-integer-summary/</link><pubDate>Sat, 11 Apr 2026 00:00:00 +0000</pubDate><guid>https://ai-digest.derricklin.net/career/leetcode-medium-7-reverse-integer-summary/</guid><description>&lt;p&gt;Generated by Codex with GPT-5&lt;/p&gt;
&lt;h2 id="quick-facts"&gt;Quick facts&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Difficulty: &lt;code&gt;MEDIUM&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Problem: &lt;a href="https://leetcode.com/problems/reverse-integer/" target="_blank"&gt;Reverse Integer&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Main tags: &lt;code&gt;Math&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="what-the-problem-is-really-asking"&gt;What the problem is really asking&lt;/h2&gt;
&lt;p&gt;Given a signed 32-bit integer, reverse its decimal digits.&lt;/p&gt;
&lt;p&gt;Examples:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;123&lt;/code&gt; becomes &lt;code&gt;321&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;-123&lt;/code&gt; becomes &lt;code&gt;-321&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;120&lt;/code&gt; becomes &lt;code&gt;21&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The catch is that the answer must still fit inside the signed 32-bit range:&lt;/p&gt;</description></item><item><title>LeetCode HARD 4 Median of Two Sorted Arrays Summary</title><link>https://ai-digest.derricklin.net/career/leetcode-hard-4-median-of-two-sorted-arrays-summary/</link><pubDate>Fri, 10 Apr 2026 00:00:00 +0000</pubDate><guid>https://ai-digest.derricklin.net/career/leetcode-hard-4-median-of-two-sorted-arrays-summary/</guid><description>&lt;p&gt;Generated by Codex with GPT-5&lt;/p&gt;
&lt;h2 id="quick-facts"&gt;Quick facts&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Difficulty: &lt;code&gt;HARD&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Problem: &lt;a href="https://leetcode.com/problems/median-of-two-sorted-arrays/" target="_blank"&gt;Median of Two Sorted Arrays&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Main tags: &lt;code&gt;Array&lt;/code&gt;, &lt;code&gt;Binary Search&lt;/code&gt;, &lt;code&gt;Divide and Conquer&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="what-the-problem-is-really-asking"&gt;What the problem is really asking&lt;/h2&gt;
&lt;p&gt;Two arrays are already sorted. If they were merged into one larger sorted array, the task would be to return the middle value.&lt;/p&gt;</description></item><item><title>LeetCode HARD 42 Trapping Rain Water Summary</title><link>https://ai-digest.derricklin.net/career/leetcode-hard-42-trapping-rain-water-summary/</link><pubDate>Fri, 10 Apr 2026 00:00:00 +0000</pubDate><guid>https://ai-digest.derricklin.net/career/leetcode-hard-42-trapping-rain-water-summary/</guid><description>&lt;p&gt;Generated by Codex with GPT-5&lt;/p&gt;
&lt;h2 id="quick-facts"&gt;Quick facts&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Difficulty: &lt;code&gt;HARD&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Problem: &lt;a href="https://leetcode.com/problems/trapping-rain-water/" target="_blank"&gt;Trapping Rain Water&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Main tags: &lt;code&gt;Array&lt;/code&gt;, &lt;code&gt;Two Pointers&lt;/code&gt;, &lt;code&gt;Dynamic Programming&lt;/code&gt;, &lt;code&gt;Stack&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="what-the-problem-is-really-asking"&gt;What the problem is really asking&lt;/h2&gt;
&lt;p&gt;The input is an elevation map where each number is the height of a vertical bar with width &lt;code&gt;1&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;After rain falls, water can sit in the valleys between taller bars. The task is to compute the total amount of water that stays trapped.&lt;/p&gt;</description></item><item><title>LeetCode MEDIUM 11 Container With Most Water Summary</title><link>https://ai-digest.derricklin.net/career/leetcode-medium-11-container-with-most-water-summary/</link><pubDate>Fri, 10 Apr 2026 00:00:00 +0000</pubDate><guid>https://ai-digest.derricklin.net/career/leetcode-medium-11-container-with-most-water-summary/</guid><description>&lt;p&gt;Generated by Codex with GPT-5&lt;/p&gt;
&lt;h2 id="quick-facts"&gt;Quick facts&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Difficulty: &lt;code&gt;MEDIUM&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Problem: &lt;a href="https://leetcode.com/problems/container-with-most-water/" target="_blank"&gt;Container With Most Water&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Main tags: &lt;code&gt;Array&lt;/code&gt;, &lt;code&gt;Two Pointers&lt;/code&gt;, &lt;code&gt;Greedy&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="what-the-problem-is-really-asking"&gt;What the problem is really asking&lt;/h2&gt;
&lt;p&gt;The input is an array of heights. Each height represents a vertical line drawn at that index.&lt;/p&gt;
&lt;p&gt;The task is to pick two lines that, together with the x-axis, form a container that holds the most water.&lt;/p&gt;</description></item><item><title>LeetCode MEDIUM 2 Add Two Numbers Summary</title><link>https://ai-digest.derricklin.net/career/leetcode-medium-2-add-two-numbers-summary/</link><pubDate>Fri, 10 Apr 2026 00:00:00 +0000</pubDate><guid>https://ai-digest.derricklin.net/career/leetcode-medium-2-add-two-numbers-summary/</guid><description>&lt;p&gt;Generated by Codex with GPT-5&lt;/p&gt;
&lt;h2 id="quick-facts"&gt;Quick facts&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Difficulty: &lt;code&gt;MEDIUM&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Problem: &lt;a href="https://leetcode.com/problems/add-two-numbers/" target="_blank"&gt;Add Two Numbers&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Main tags: &lt;code&gt;Linked List&lt;/code&gt;, &lt;code&gt;Math&lt;/code&gt;, &lt;code&gt;Recursion&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="what-the-problem-is-really-asking"&gt;What the problem is really asking&lt;/h2&gt;
&lt;p&gt;Two linked lists represent two non-negative integers. Each node stores one digit, and the digits are already in reverse order, so the ones place comes first.&lt;/p&gt;</description></item><item><title>LeetCode MEDIUM 3 Longest Substring Without Repeating Characters Summary</title><link>https://ai-digest.derricklin.net/career/leetcode-medium-3-longest-substring-without-repeating-characters-summary/</link><pubDate>Fri, 10 Apr 2026 00:00:00 +0000</pubDate><guid>https://ai-digest.derricklin.net/career/leetcode-medium-3-longest-substring-without-repeating-characters-summary/</guid><description>&lt;p&gt;Generated by Codex with GPT-5&lt;/p&gt;
&lt;h2 id="quick-facts"&gt;Quick facts&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Difficulty: &lt;code&gt;MEDIUM&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Problem: &lt;a href="https://leetcode.com/problems/longest-substring-without-repeating-characters/" target="_blank"&gt;Longest Substring Without Repeating Characters&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Main tags: &lt;code&gt;Hash Table&lt;/code&gt;, &lt;code&gt;String&lt;/code&gt;, &lt;code&gt;Sliding Window&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="what-the-problem-is-really-asking"&gt;What the problem is really asking&lt;/h2&gt;
&lt;p&gt;Given a string, the goal is to find the length of the longest contiguous block of characters with no repeats.&lt;/p&gt;
&lt;p&gt;The important word is contiguous. This is not asking for a subsequence that can skip characters. It is asking for one unbroken window inside the string.&lt;/p&gt;</description></item><item><title>LeetCode MEDIUM 5 Longest Palindromic Substring Summary</title><link>https://ai-digest.derricklin.net/career/leetcode-medium-5-longest-palindromic-substring-summary/</link><pubDate>Fri, 10 Apr 2026 00:00:00 +0000</pubDate><guid>https://ai-digest.derricklin.net/career/leetcode-medium-5-longest-palindromic-substring-summary/</guid><description>&lt;p&gt;Generated by Codex with GPT-5&lt;/p&gt;
&lt;h2 id="quick-facts"&gt;Quick facts&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Difficulty: &lt;code&gt;MEDIUM&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Problem: &lt;a href="https://leetcode.com/problems/longest-palindromic-substring/" target="_blank"&gt;Longest Palindromic Substring&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Frequency: &lt;code&gt;64.1&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Main tags: &lt;code&gt;Two Pointers&lt;/code&gt;, &lt;code&gt;String&lt;/code&gt;, &lt;code&gt;Dynamic Programming&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="what-the-problem-is-really-asking"&gt;What the problem is really asking&lt;/h2&gt;
&lt;p&gt;Given a string, return the longest contiguous substring that reads the same forward and backward.&lt;/p&gt;
&lt;p&gt;The word &amp;ldquo;substring&amp;rdquo; is the important constraint. This is not about picking scattered characters. The answer has to be one continuous block inside the original string.&lt;/p&gt;</description></item><item><title>LeetCode MEDIUM 560 Subarray Sum Equals K Summary</title><link>https://ai-digest.derricklin.net/career/leetcode-medium-560-subarray-sum-equals-k-summary/</link><pubDate>Fri, 10 Apr 2026 00:00:00 +0000</pubDate><guid>https://ai-digest.derricklin.net/career/leetcode-medium-560-subarray-sum-equals-k-summary/</guid><description>&lt;p&gt;Generated by Codex with GPT-5&lt;/p&gt;
&lt;h2 id="quick-facts"&gt;Quick facts&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Difficulty: &lt;code&gt;MEDIUM&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Problem: &lt;a href="https://leetcode.com/problems/subarray-sum-equals-k/" target="_blank"&gt;Subarray Sum Equals K&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Main tags: &lt;code&gt;Array&lt;/code&gt;, &lt;code&gt;Hash Table&lt;/code&gt;, &lt;code&gt;Prefix Sum&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="what-the-problem-is-really-asking"&gt;What the problem is really asking&lt;/h2&gt;
&lt;p&gt;The input is an integer array and a target &lt;code&gt;k&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;The task is not to find the longest subarray or to return the subarray itself. It is simply to count how many contiguous subarrays add up to &lt;code&gt;k&lt;/code&gt;.&lt;/p&gt;</description></item></channel></rss>