<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:video="http://www.google.com/schemas/sitemap-video/1.1">
<url>
<loc>https://leettube.dev</loc>
<lastmod>2026-10-08T03:04:41.967Z</lastmod>
<changefreq>weekly</changefreq>
<priority>1</priority>
</url>
<url>
<loc>https://leettube.dev/about</loc>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://leettube.dev/worlds/warm-up</loc>
<lastmod>2026-10-08T03:04:41.967Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.9</priority>
</url>
<url>
<loc>https://leettube.dev/worlds/arrays</loc>
<lastmod>2026-10-08T03:04:41.967Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.9</priority>
</url>
<url>
<loc>https://leettube.dev/worlds/trees</loc>
<lastmod>2026-10-08T03:04:41.967Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.9</priority>
</url>
<url>
<loc>https://leettube.dev/worlds/backtracking</loc>
<lastmod>2026-10-08T03:04:41.967Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.9</priority>
</url>
<url>
<loc>https://leettube.dev/worlds/dynamic-programming</loc>
<lastmod>2026-10-08T03:04:41.967Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.9</priority>
</url>
<url>
<loc>https://leettube.dev/worlds/graphs</loc>
<lastmod>2026-10-08T03:04:41.967Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.9</priority>
</url>
<url>
<loc>https://leettube.dev/worlds/greedy</loc>
<lastmod>2026-10-08T03:04:41.967Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.9</priority>
</url>
<url>
<loc>https://leettube.dev/worlds/bits-and-math</loc>
<lastmod>2026-10-08T03:04:41.967Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.9</priority>
</url>
<url>
<loc>https://leettube.dev/worlds/design</loc>
<lastmod>2026-10-08T03:04:41.967Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.9</priority>
</url>
<url>
<loc>https://leettube.dev/topics</loc>
<lastmod>2026-10-08T03:04:41.967Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://leettube.dev/topics/dynamic-programming</loc>
<lastmod>2026-10-08T03:04:41.967Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://leettube.dev/topics/backtracking</loc>
<lastmod>2026-10-08T03:04:41.967Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://leettube.dev/topics/greedy</loc>
<lastmod>2026-10-08T03:04:41.967Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://leettube.dev/topics/tree-recursion</loc>
<lastmod>2026-10-08T03:04:41.967Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://leettube.dev/topics/bit-manipulation</loc>
<lastmod>2026-10-08T03:04:41.967Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://leettube.dev/topics/two-pointers</loc>
<lastmod>2026-10-08T03:04:41.967Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://leettube.dev/topics/design</loc>
<lastmod>2026-10-08T03:04:41.967Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://leettube.dev/topics/binary-search</loc>
<lastmod>2026-10-08T03:04:41.967Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://leettube.dev/topics/breadth-first-search</loc>
<lastmod>2026-10-08T03:04:41.967Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://leettube.dev/topics/hash-map</loc>
<lastmod>2026-10-08T03:04:41.967Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://leettube.dev/topics/heap</loc>
<lastmod>2026-10-08T03:04:41.967Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://leettube.dev/topics/linked-list</loc>
<lastmod>2026-10-08T03:04:41.967Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://leettube.dev/topics/fast-and-slow-pointers</loc>
<lastmod>2026-10-08T03:04:41.967Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://leettube.dev/topics/grid-search</loc>
<lastmod>2026-10-08T03:04:41.967Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://leettube.dev/topics/shortest-path</loc>
<lastmod>2026-10-08T03:04:41.967Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://leettube.dev/topics/sliding-window</loc>
<lastmod>2026-10-08T03:04:41.967Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://leettube.dev/topics/depth-first-search</loc>
<lastmod>2026-10-08T03:04:41.967Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://leettube.dev/topics/math</loc>
<lastmod>2026-10-08T03:04:41.967Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://leettube.dev/topics/monotonic-stack</loc>
<lastmod>2026-10-08T03:04:41.967Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://leettube.dev/topics/carry</loc>
<lastmod>2026-10-08T03:04:41.967Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://leettube.dev/topics/counting</loc>
<lastmod>2026-10-08T03:04:41.967Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://leettube.dev/topics/expand-around-centre</loc>
<lastmod>2026-10-08T03:04:41.967Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://leettube.dev/topics/hash-set</loc>
<lastmod>2026-10-08T03:04:41.967Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://leettube.dev/topics/matrix</loc>
<lastmod>2026-10-08T03:04:41.967Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://leettube.dev/topics/prefix-sums</loc>
<lastmod>2026-10-08T03:04:41.967Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://leettube.dev/topics/sorting</loc>
<lastmod>2026-10-08T03:04:41.967Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://leettube.dev/topics/stack</loc>
<lastmod>2026-10-08T03:04:41.967Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://leettube.dev/topics/topological-sort</loc>
<lastmod>2026-10-08T03:04:41.967Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://leettube.dev/topics/trie</loc>
<lastmod>2026-10-08T03:04:41.967Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://leettube.dev/watch/intro-warm-up</loc>
<video:video>
<video:title>Warm-up tutorial</video:title>
<video:thumbnail_loc>https://leettube.dev/posters/intro-warm-up.webp</video:thumbnail_loc>
<video:description>Before the first stage: how the work grows as the input grows, and the hash map, which answers &quot;have I seen this?&quot; in one hop.</video:description>
<video:content_loc>https://leettube.dev/api/video/intro-warm-up/video.mp4</video:content_loc>
<video:duration>45</video:duration>
<video:publication_date>2026-10-07T21:16:54.768Z</video:publication_date>
</video:video>
<lastmod>2026-10-07T21:16:54.768Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://leettube.dev/watch/two-sum</loc>
<video:video>
<video:title>Two Sum (LeetCode 1)</video:title>
<video:thumbnail_loc>https://leettube.dev/posters/two-sum.webp</video:thumbnail_loc>
<video:description>Find the two numbers that add up to the target. Walk once, and for each number look up the partner you need in a map of what you&apos;ve seen.</video:description>
<video:content_loc>https://leettube.dev/api/video/two-sum/video.mp4</video:content_loc>
<video:duration>64</video:duration>
<video:publication_date>2026-10-07T21:19:51.401Z</video:publication_date>
</video:video>
<lastmod>2026-10-07T21:19:51.401Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://leettube.dev/watch/valid-parentheses</loc>
<video:video>
<video:title>Valid Parentheses (LeetCode 20)</video:title>
<video:thumbnail_loc>https://leettube.dev/posters/valid-parentheses.webp</video:thumbnail_loc>
<video:description>Check that every bracket is closed by the right type, in the right order. Push each opener, and match each closer against the top of the stack.</video:description>
<video:content_loc>https://leettube.dev/api/video/valid-parentheses/video.mp4</video:content_loc>
<video:duration>96</video:duration>
<video:publication_date>2026-10-07T21:19:58.805Z</video:publication_date>
</video:video>
<lastmod>2026-10-07T21:19:58.805Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://leettube.dev/watch/binary-search</loc>
<video:video>
<video:title>Binary Search (LeetCode 704)</video:title>
<video:thumbnail_loc>https://leettube.dev/posters/binary-search.webp</video:thumbnail_loc>
<video:description>Find a target in a sorted list. Check the middle and throw away the half that can&apos;t hold it, so each step halves the search.</video:description>
<video:content_loc>https://leettube.dev/api/video/binary-search/video.mp4</video:content_loc>
<video:duration>99</video:duration>
<video:publication_date>2026-10-07T21:15:09.509Z</video:publication_date>
</video:video>
<lastmod>2026-10-07T21:15:09.509Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://leettube.dev/watch/linked-list-cycle</loc>
<video:video>
<video:title>Linked List Cycle (LeetCode 141)</video:title>
<video:thumbnail_loc>https://leettube.dev/posters/linked-list-cycle.webp</video:thumbnail_loc>
<video:description>Does the list loop back on itself? Send a tortoise and a hare down it: if there&apos;s a cycle, the faster runner must catch the slower one.</video:description>
<video:content_loc>https://leettube.dev/api/video/linked-list-cycle/video.mp4</video:content_loc>
<video:duration>85</video:duration>
<video:publication_date>2026-10-07T21:17:20.167Z</video:publication_date>
</video:video>
<lastmod>2026-10-07T21:17:20.167Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://leettube.dev/watch/intersection-of-two-linked-lists</loc>
<video:video>
<video:title>Intersection of Two Linked Lists (LeetCode 160)</video:title>
<video:thumbnail_loc>https://leettube.dev/posters/intersection-of-two-linked-lists.webp</video:thumbnail_loc>
<video:description>Find the node where two lists join: walk each list, switch to the other head at the end, and both runners meet at the join.</video:description>
<video:content_loc>https://leettube.dev/api/video/intersection-of-two-linked-lists/video.mp4</video:content_loc>
<video:duration>98</video:duration>
<video:publication_date>2026-10-07T21:16:42.399Z</video:publication_date>
</video:video>
<lastmod>2026-10-07T21:16:42.399Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://leettube.dev/watch/find-the-duplicate-number</loc>
<video:video>
<video:title>Find the Duplicate Number (LeetCode 287)</video:title>
<video:thumbnail_loc>https://leettube.dev/posters/find-the-duplicate-number.webp</video:thumbnail_loc>
<video:description>n + 1 numbers in 1..n, one repeated. Treat each value as a pointer to an index: the duplicate starts a cycle, and fast and slow runners find it.</video:description>
<video:content_loc>https://leettube.dev/api/video/find-the-duplicate-number/video.mp4</video:content_loc>
<video:duration>97</video:duration>
<video:publication_date>2026-10-07T21:16:19.988Z</video:publication_date>
</video:video>
<lastmod>2026-10-07T21:16:19.988Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://leettube.dev/watch/reverse-linked-list</loc>
<video:video>
<video:title>Reverse Linked List (LeetCode 206)</video:title>
<video:thumbnail_loc>https://leettube.dev/posters/reverse-linked-list.webp</video:thumbnail_loc>
<video:description>Turn every arrow of a linked list around in place. Keep three pointers: save next, flip current back to previous, step forward.</video:description>
<video:content_loc>https://leettube.dev/api/video/reverse-linked-list/video.mp4</video:content_loc>
<video:duration>96</video:duration>
<video:publication_date>2026-10-07T21:19:04.603Z</video:publication_date>
</video:video>
<lastmod>2026-10-07T21:19:04.603Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://leettube.dev/watch/merge-two-sorted-lists</loc>
<video:video>
<video:title>Merge Two Sorted Lists (LeetCode 21)</video:title>
<video:thumbnail_loc>https://leettube.dev/posters/merge-two-sorted-lists.webp</video:thumbnail_loc>
<video:description>Splice two sorted lists into one. Keep a tail pointer behind a dummy head and always take the smaller front node.</video:description>
<video:content_loc>https://leettube.dev/api/video/merge-two-sorted-lists/video.mp4</video:content_loc>
<video:duration>86</video:duration>
<video:publication_date>2026-10-07T21:17:49.557Z</video:publication_date>
</video:video>
<lastmod>2026-10-07T21:17:49.557Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://leettube.dev/watch/reorder-list</loc>
<video:video>
<video:title>Reorder List (LeetCode 143)</video:title>
<video:thumbnail_loc>https://leettube.dev/posters/reorder-list.webp</video:thumbnail_loc>
<video:description>Weave a linked list first, last, second, second to last. Find the middle with slow and fast pointers, reverse the back half, then merge.</video:description>
<video:content_loc>https://leettube.dev/api/video/reorder-list/video.mp4</video:content_loc>
<video:duration>98</video:duration>
<video:publication_date>2026-10-07T21:18:57.687Z</video:publication_date>
</video:video>
<lastmod>2026-10-07T21:18:57.687Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://leettube.dev/watch/palindrome-linked-list</loc>
<video:video>
<video:title>Palindrome Linked List (LeetCode 234)</video:title>
<video:thumbnail_loc>https://leettube.dev/posters/palindrome-linked-list.webp</video:thumbnail_loc>
<video:description>Does a linked list read the same both ways? Find the middle with fast and slow runners, reverse the back half, then compare the halves node by node.</video:description>
<video:content_loc>https://leettube.dev/api/video/palindrome-linked-list/video.mp4</video:content_loc>
<video:duration>98</video:duration>
<video:publication_date>2026-10-07T21:18:20.521Z</video:publication_date>
</video:video>
<lastmod>2026-10-07T21:18:20.521Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://leettube.dev/watch/remove-nth-node-from-end-of-list</loc>
<video:video>
<video:title>Remove Nth Node From End of List (LeetCode 19)</video:title>
<video:thumbnail_loc>https://leettube.dev/posters/remove-nth-node-from-end-of-list.webp</video:thumbnail_loc>
<video:description>Remove the nth node from the end in one pass: start a fast runner n steps ahead, move both until it falls off, then unlink the next node.</video:description>
<video:content_loc>https://leettube.dev/api/video/remove-nth-node-from-end-of-list/video.mp4</video:content_loc>
<video:duration>98</video:duration>
<video:publication_date>2026-10-07T21:18:55.933Z</video:publication_date>
</video:video>
<lastmod>2026-10-07T21:18:55.933Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://leettube.dev/watch/add-two-numbers</loc>
<video:video>
<video:title>Add Two Numbers (LeetCode 2)</video:title>
<video:thumbnail_loc>https://leettube.dev/posters/add-two-numbers.webp</video:thumbnail_loc>
<video:description>Two numbers stored as reversed linked lists: walk both at once, add digit by digit like on paper, and carry the 1 into the next node.</video:description>
<video:content_loc>https://leettube.dev/api/video/add-two-numbers/video.mp4</video:content_loc>
<video:duration>98</video:duration>
<video:publication_date>2026-10-07T21:14:58.738Z</video:publication_date>
</video:video>
<lastmod>2026-10-07T21:14:58.738Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://leettube.dev/watch/contains-duplicate</loc>
<video:video>
<video:title>Contains Duplicate (LeetCode 217)</video:title>
<video:thumbnail_loc>https://leettube.dev/posters/contains-duplicate.webp</video:thumbnail_loc>
<video:description>Does any number show up twice? Walk the list once with a set of values you&apos;ve already seen, and stop the moment one repeats.</video:description>
<video:content_loc>https://leettube.dev/api/video/contains-duplicate/video.mp4</video:content_loc>
<video:duration>82</video:duration>
<video:publication_date>2026-10-07T21:15:43.799Z</video:publication_date>
</video:video>
<lastmod>2026-10-07T21:15:43.799Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://leettube.dev/watch/remove-duplicates-from-sorted-array</loc>
<video:video>
<video:title>Remove Duplicates from Sorted Array (LeetCode 26)</video:title>
<video:thumbnail_loc>https://leettube.dev/posters/remove-duplicates-from-sorted-array.webp</video:thumbnail_loc>
<video:description>Squeeze the duplicates out of a sorted array in place: a read pointer scans ahead while a write pointer keeps each new value.</video:description>
<video:content_loc>https://leettube.dev/api/video/remove-duplicates-from-sorted-array/video.mp4</video:content_loc>
<video:duration>98</video:duration>
<video:publication_date>2026-10-07T21:18:52.607Z</video:publication_date>
</video:video>
<lastmod>2026-10-07T21:18:52.607Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://leettube.dev/watch/move-zeroes</loc>
<video:video>
<video:title>Move Zeroes (LeetCode 283)</video:title>
<video:thumbnail_loc>https://leettube.dev/posters/move-zeroes.webp</video:thumbnail_loc>
<video:description>Push every zero to the end without changing the order of the rest, in place. A write pointer marks where the next non-zero belongs; swap each non-zero into it as you scan, and the zeros drift back in one O(n) pass with O(1) space.</video:description>
<video:content_loc>https://leettube.dev/api/video/move-zeroes/video.mp4</video:content_loc>
<video:duration>94</video:duration>
<video:publication_date>2026-10-08T02:27:38.480Z</video:publication_date>
</video:video>
<lastmod>2026-10-08T02:27:38.480Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://leettube.dev/watch/merge-sorted-array</loc>
<video:video>
<video:title>Merge Sorted Array (LeetCode 88)</video:title>
<video:thumbnail_loc>https://leettube.dev/posters/merge-sorted-array.webp</video:thumbnail_loc>
<video:description>Merge two sorted arrays into the first one in place: fill from the back, always placing the larger tail, so nothing gets overwritten.</video:description>
<video:content_loc>https://leettube.dev/api/video/merge-sorted-array/video.mp4</video:content_loc>
<video:duration>98</video:duration>
<video:publication_date>2026-10-07T21:17:45.392Z</video:publication_date>
</video:video>
<lastmod>2026-10-07T21:17:45.392Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://leettube.dev/watch/valid-anagram</loc>
<video:video>
<video:title>Valid Anagram (LeetCode 242)</video:title>
<video:thumbnail_loc>https://leettube.dev/posters/valid-anagram.webp</video:thumbnail_loc>
<video:description>Check if two words use exactly the same letters. Count up for every letter in one, count down for the other, and see if every tally hits zero.</video:description>
<video:content_loc>https://leettube.dev/api/video/valid-anagram/video.mp4</video:content_loc>
<video:duration>89</video:duration>
<video:publication_date>2026-10-07T21:19:54.965Z</video:publication_date>
</video:video>
<lastmod>2026-10-07T21:19:54.965Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://leettube.dev/watch/ransom-note</loc>
<video:video>
<video:title>Ransom Note (LeetCode 383)</video:title>
<video:thumbnail_loc>https://leettube.dev/posters/ransom-note.webp</video:thumbnail_loc>
<video:description>Can the note be cut from the magazine? Count every magazine letter, then spend one per note letter and fail the moment a count runs out.</video:description>
<video:content_loc>https://leettube.dev/api/video/ransom-note/video.mp4</video:content_loc>
<video:duration>99</video:duration>
<video:publication_date>2026-10-07T21:18:45.548Z</video:publication_date>
</video:video>
<lastmod>2026-10-07T21:18:45.548Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://leettube.dev/watch/isomorphic-strings</loc>
<video:video>
<video:title>Isomorphic Strings (LeetCode 205)</video:title>
<video:thumbnail_loc>https://leettube.dev/posters/isomorphic-strings.webp</video:thumbnail_loc>
<video:description>Can each letter of s turn into one letter of t, with no two sharing? A two-way codebook settles it in a single pass.</video:description>
<video:content_loc>https://leettube.dev/api/video/isomorphic-strings/video.mp4</video:content_loc>
<video:duration>99</video:duration>
<video:publication_date>2026-10-07T21:16:59.042Z</video:publication_date>
</video:video>
<lastmod>2026-10-07T21:16:59.042Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://leettube.dev/watch/valid-palindrome</loc>
<video:video>
<video:title>Valid Palindrome (LeetCode 125)</video:title>
<video:thumbnail_loc>https://leettube.dev/posters/valid-palindrome.webp</video:thumbnail_loc>
<video:description>Check if a phrase reads the same both ways, ignoring case and punctuation. Walk in from both ends, skip the junk, and compare letters.</video:description>
<video:content_loc>https://leettube.dev/api/video/valid-palindrome/video.mp4</video:content_loc>
<video:duration>93</video:duration>
<video:publication_date>2026-10-07T21:19:57.357Z</video:publication_date>
</video:video>
<lastmod>2026-10-07T21:19:57.357Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://leettube.dev/watch/roman-to-integer</loc>
<video:video>
<video:title>Roman to Integer (LeetCode 13)</video:title>
<video:thumbnail_loc>https://leettube.dev/posters/roman-to-integer.webp</video:thumbnail_loc>
<video:description>Turn a Roman numeral into a number. Look up each letter&apos;s value and add it, unless the next letter is bigger, then subtract it.</video:description>
<video:content_loc>https://leettube.dev/api/video/roman-to-integer/video.mp4</video:content_loc>
<video:duration>109</video:duration>
<video:publication_date>2026-10-07T21:19:06.342Z</video:publication_date>
</video:video>
<lastmod>2026-10-07T21:19:06.342Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://leettube.dev/watch/majority-element</loc>
<video:video>
<video:title>Majority Element (LeetCode 169)</video:title>
<video:thumbnail_loc>https://leettube.dev/posters/majority-element.webp</video:thumbnail_loc>
<video:description>One value fills more than half the list. Boyer–Moore voting pairs off different values like rival fighters knocking each other off a hill, and the majority is the one left standing, in one pass and O(1) space.</video:description>
<video:content_loc>https://leettube.dev/api/video/majority-element/video.mp4</video:content_loc>
<video:duration>94</video:duration>
<video:publication_date>2026-10-08T00:01:25.770Z</video:publication_date>
</video:video>
<lastmod>2026-10-08T00:01:25.770Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://leettube.dev/watch/intro-arrays</loc>
<video:video>
<video:title>Arrays tutorial</video:title>
<video:thumbnail_loc>https://leettube.dev/posters/intro-arrays.webp</video:thumbnail_loc>
<video:description>Walk the array once with a little state instead of restarting everywhere: two pointers closing in from the ends, or a window that grows on the right and shrinks on the left.</video:description>
<video:content_loc>https://leettube.dev/api/video/intro-arrays/video.mp4</video:content_loc>
<video:duration>43</video:duration>
<video:publication_date>2026-10-07T21:16:43.793Z</video:publication_date>
</video:video>
<lastmod>2026-10-07T21:16:43.793Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://leettube.dev/watch/best-time-to-buy-stock</loc>
<video:video>
<video:title>Best Time to Buy and Sell Stock (LeetCode 121)</video:title>
<video:thumbnail_loc>https://leettube.dev/posters/best-time-to-buy-stock.webp</video:thumbnail_loc>
<video:description>Buy one day, sell on a later day, for the biggest profit. Walk the prices once, remembering the cheapest day so far.</video:description>
<video:content_loc>https://leettube.dev/api/video/best-time-to-buy-stock/video.mp4</video:content_loc>
<video:duration>92</video:duration>
<video:publication_date>2026-10-07T21:15:05.008Z</video:publication_date>
</video:video>
<lastmod>2026-10-07T21:15:05.008Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://leettube.dev/watch/merge-intervals</loc>
<video:video>
<video:title>Merge Intervals (LeetCode 56)</video:title>
<video:thumbnail_loc>https://leettube.dev/posters/merge-intervals.webp</video:thumbnail_loc>
<video:description>Merge every overlapping interval. Sort by start, then either extend the last merged interval or start a new one.</video:description>
<video:content_loc>https://leettube.dev/api/video/merge-intervals/video.mp4</video:content_loc>
<video:duration>99</video:duration>
<video:publication_date>2026-10-07T21:17:42.274Z</video:publication_date>
</video:video>
<lastmod>2026-10-07T21:17:42.274Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://leettube.dev/watch/group-anagrams</loc>
<video:video>
<video:title>Group Anagrams (LeetCode 49)</video:title>
<video:thumbnail_loc>https://leettube.dev/posters/group-anagrams.webp</video:thumbnail_loc>
<video:description>Group words that are anagrams of each other. Sort each word&apos;s letters into a key, then file every word under its key in a hash map.</video:description>
<video:content_loc>https://leettube.dev/api/video/group-anagrams/video.mp4</video:content_loc>
<video:duration>94</video:duration>
<video:publication_date>2026-10-07T21:16:27.415Z</video:publication_date>
</video:video>
<lastmod>2026-10-07T21:16:27.415Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://leettube.dev/watch/top-k-frequent</loc>
<video:video>
<video:title>Top K Frequent (LeetCode 347)</video:title>
<video:thumbnail_loc>https://leettube.dev/posters/top-k-frequent.webp</video:thumbnail_loc>
<video:description>Find the k values that appear most often. Tally them in a map, then keep a k-spot leaderboard in a min-heap instead of sorting everything.</video:description>
<video:content_loc>https://leettube.dev/api/video/top-k-frequent/video.mp4</video:content_loc>
<video:duration>92</video:duration>
<video:publication_date>2026-10-07T21:19:47.096Z</video:publication_date>
</video:video>
<lastmod>2026-10-07T21:19:47.096Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://leettube.dev/watch/kth-largest-element-in-an-array</loc>
<video:video>
<video:title>Kth Largest Element in an Array (LeetCode 215)</video:title>
<video:thumbnail_loc>https://leettube.dev/posters/kth-largest-element-in-an-array.webp</video:thumbnail_loc>
<video:description>Find the kth largest number without sorting everything. Quickselect partitions around a pivot, which lands in its final sorted spot, and then keeps only the side that holds index n−k, for O(n) average time and O(1) space.</video:description>
<video:content_loc>https://leettube.dev/api/video/kth-largest-element-in-an-array/video.mp4</video:content_loc>
<video:duration>104</video:duration>
<video:publication_date>2026-10-08T00:33:17.944Z</video:publication_date>
</video:video>
<lastmod>2026-10-08T00:33:17.944Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://leettube.dev/watch/longest-consecutive-sequence</loc>
<video:video>
<video:title>Longest Consecutive Sequence (LeetCode 128)</video:title>
<video:thumbnail_loc>https://leettube.dev/posters/longest-consecutive-sequence.webp</video:thumbnail_loc>
<video:description>Find the longest run of consecutive numbers in an unsorted list. Put them in a set, and only count up from numbers with no left neighbour.</video:description>
<video:content_loc>https://leettube.dev/api/video/longest-consecutive-sequence/video.mp4</video:content_loc>
<video:duration>95</video:duration>
<video:publication_date>2026-10-07T21:17:23.431Z</video:publication_date>
</video:video>
<lastmod>2026-10-07T21:17:23.431Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://leettube.dev/watch/longest-substring</loc>
<video:video>
<video:title>Longest Substring (LeetCode 3)</video:title>
<video:thumbnail_loc>https://leettube.dev/posters/longest-substring.webp</video:thumbnail_loc>
<video:description>Find the longest run of characters with no repeats. Slide a window along the string, and when a letter repeats, jump the left edge past its last copy.</video:description>
<video:content_loc>https://leettube.dev/api/video/longest-substring/video.mp4</video:content_loc>
<video:duration>95</video:duration>
<video:publication_date>2026-10-07T21:17:28.215Z</video:publication_date>
</video:video>
<lastmod>2026-10-07T21:17:28.215Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://leettube.dev/watch/permutation-in-string</loc>
<video:video>
<video:title>Permutation in String (LeetCode 567)</video:title>
<video:thumbnail_loc>https://leettube.dev/posters/permutation-in-string.webp</video:thumbnail_loc>
<video:description>Does any window of s2 hold exactly the letters of s1? Slide a fixed-size window and keep 26 letter counts in step, one letter in and one out, so every check is O(1) and the whole scan is O(n).</video:description>
<video:content_loc>https://leettube.dev/api/video/permutation-in-string/video.mp4</video:content_loc>
<video:duration>101</video:duration>
<video:publication_date>2026-10-08T00:05:57.320Z</video:publication_date>
</video:video>
<lastmod>2026-10-08T00:05:57.320Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://leettube.dev/watch/longest-repeating-character-replacement</loc>
<video:video>
<video:title>Longest Repeating Character Replacement (LeetCode 424)</video:title>
<video:thumbnail_loc>https://leettube.dev/posters/longest-repeating-character-replacement.webp</video:thumbnail_loc>
<video:description>Change at most k letters to get the longest run of one letter. Slide a window and keep letter counts: it&apos;s fine while its length minus its most common letter&apos;s count is at most k, and the top count never needs to shrink. O(n) time.</video:description>
<video:content_loc>https://leettube.dev/api/video/longest-repeating-character-replacement/video.mp4</video:content_loc>
<video:duration>110</video:duration>
<video:publication_date>2026-10-08T02:32:11.038Z</video:publication_date>
</video:video>
<lastmod>2026-10-08T02:32:11.038Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://leettube.dev/watch/minimum-window-substring</loc>
<video:video>
<video:title>Minimum Window Substring (LeetCode 76)</video:title>
<video:thumbnail_loc>https://leettube.dev/posters/minimum-window-substring.webp</video:thumbnail_loc>
<video:description>Find the shortest stretch of s holding every letter of t. Grow the window right until it&apos;s complete, then shrink from the left while it stays so.</video:description>
<video:content_loc>https://leettube.dev/api/video/minimum-window-substring/video.mp4</video:content_loc>
<video:duration>102</video:duration>
<video:publication_date>2026-10-07T21:17:58.196Z</video:publication_date>
</video:video>
<lastmod>2026-10-07T21:17:58.196Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://leettube.dev/watch/sliding-window-maximum</loc>
<video:video>
<video:title>Sliding Window Maximum (LeetCode 239)</video:title>
<video:thumbnail_loc>https://leettube.dev/posters/sliding-window-maximum.webp</video:thumbnail_loc>
<video:description>Report the biggest number in every window of k as it slides. Keep a deque of shrinking values, so the front is always the max.</video:description>
<video:content_loc>https://leettube.dev/api/video/sliding-window-maximum/video.mp4</video:content_loc>
<video:duration>97</video:duration>
<video:publication_date>2026-10-07T21:19:22.049Z</video:publication_date>
</video:video>
<lastmod>2026-10-07T21:19:22.049Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://leettube.dev/watch/subarray-sum-equals-k</loc>
<video:video>
<video:title>Subarray Sum Equals K (LeetCode 560)</video:title>
<video:thumbnail_loc>https://leettube.dev/posters/subarray-sum-equals-k.webp</video:thumbnail_loc>
<video:description>Count the stretches of numbers that add up to k, negatives included. Keep a running total and a tally of totals seen, and look up the one that&apos;s k behind.</video:description>
<video:content_loc>https://leettube.dev/api/video/subarray-sum-equals-k/video.mp4</video:content_loc>
<video:duration>95</video:duration>
<video:publication_date>2026-10-07T21:19:29.626Z</video:publication_date>
</video:video>
<lastmod>2026-10-07T21:19:29.626Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://leettube.dev/watch/product-except-self</loc>
<video:video>
<video:title>Product of Array Except Self (LeetCode 238)</video:title>
<video:thumbnail_loc>https://leettube.dev/posters/product-except-self.webp</video:thumbnail_loc>
<video:description>Each spot gets the product of every other number, without division. Multiply everything to its left by everything to its right in two passes.</video:description>
<video:content_loc>https://leettube.dev/api/video/product-except-self/video.mp4</video:content_loc>
<video:duration>102</video:duration>
<video:publication_date>2026-10-07T21:18:43.211Z</video:publication_date>
</video:video>
<lastmod>2026-10-07T21:18:43.211Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://leettube.dev/watch/first-missing-positive</loc>
<video:video>
<video:title>First Missing Positive (LeetCode 41)</video:title>
<video:thumbnail_loc>https://leettube.dev/posters/first-missing-positive.webp</video:thumbnail_loc>
<video:description>Find the smallest missing positive in O(n) time and O(1) space: swap each value into its own seat, then the first wrong seat is the answer.</video:description>
<video:content_loc>https://leettube.dev/api/video/first-missing-positive/video.mp4</video:content_loc>
<video:duration>97</video:duration>
<video:publication_date>2026-10-07T21:16:21.774Z</video:publication_date>
</video:video>
<lastmod>2026-10-07T21:16:21.774Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://leettube.dev/watch/two-sum-ii-input-array-is-sorted</loc>
<video:video>
<video:title>Two Sum II - Input Array Is Sorted (LeetCode 167)</video:title>
<video:thumbnail_loc>https://leettube.dev/posters/two-sum-ii-input-array-is-sorted.webp</video:thumbnail_loc>
<video:description>The list is sorted, so start one pointer at each end. If the pair adds up too small, move the left one right; too big, move the right one left. Each step rules out a whole row of pairs: O(n) time, O(1) space.</video:description>
<video:content_loc>https://leettube.dev/api/video/two-sum-ii-input-array-is-sorted/video.mp4</video:content_loc>
<video:duration>103</video:duration>
<video:publication_date>2026-10-08T02:25:11.265Z</video:publication_date>
</video:video>
<lastmod>2026-10-08T02:25:11.265Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://leettube.dev/watch/3sum</loc>
<video:video>
<video:title>3Sum (LeetCode 15)</video:title>
<video:thumbnail_loc>https://leettube.dev/posters/3sum.webp</video:thumbnail_loc>
<video:description>Find every triple that sums to zero, with no repeats. Sort, fix one number, then close in from both ends with two pointers.</video:description>
<video:content_loc>https://leettube.dev/api/video/3sum/video.mp4</video:content_loc>
<video:duration>105</video:duration>
<video:publication_date>2026-10-07T21:14:57.258Z</video:publication_date>
</video:video>
<lastmod>2026-10-07T21:14:57.258Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://leettube.dev/watch/container-with-most-water</loc>
<video:video>
<video:title>Container With Most Water (LeetCode 11)</video:title>
<video:thumbnail_loc>https://leettube.dev/posters/container-with-most-water.webp</video:thumbnail_loc>
<video:description>Pick two walls that hold the most water. Start at both ends and always move the shorter wall inward, since it caps the area.</video:description>
<video:content_loc>https://leettube.dev/api/video/container-with-most-water/video.mp4</video:content_loc>
<video:duration>102</video:duration>
<video:publication_date>2026-10-07T21:15:42.148Z</video:publication_date>
</video:video>
<lastmod>2026-10-07T21:15:42.148Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://leettube.dev/watch/sort-colors</loc>
<video:video>
<video:title>Sort Colors (LeetCode 75)</video:title>
<video:thumbnail_loc>https://leettube.dev/posters/sort-colors.webp</video:thumbnail_loc>
<video:description>Sort an array of 0s, 1s and 2s in one pass: three pointers sweep zeros to the front and twos to the back, leaving ones in the middle.</video:description>
<video:content_loc>https://leettube.dev/api/video/sort-colors/video.mp4</video:content_loc>
<video:duration>103</video:duration>
<video:publication_date>2026-10-07T21:19:25.565Z</video:publication_date>
</video:video>
<lastmod>2026-10-07T21:19:25.565Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://leettube.dev/watch/evaluate-reverse-polish-notation</loc>
<video:video>
<video:title>Evaluate Reverse Polish Notation (LeetCode 150)</video:title>
<video:thumbnail_loc>https://leettube.dev/posters/evaluate-reverse-polish-notation.webp</video:thumbnail_loc>
<video:description>Work out an expression written with operators after their numbers. Push each number on a stack; each operator pops two and pushes the result.</video:description>
<video:content_loc>https://leettube.dev/api/video/evaluate-reverse-polish-notation/video.mp4</video:content_loc>
<video:duration>116</video:duration>
<video:publication_date>2026-10-07T21:16:16.341Z</video:publication_date>
</video:video>
<lastmod>2026-10-07T21:16:16.341Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://leettube.dev/watch/daily-temperatures</loc>
<video:video>
<video:title>Daily Temperatures (LeetCode 739)</video:title>
<video:thumbnail_loc>https://leettube.dev/posters/daily-temperatures.webp</video:thumbnail_loc>
<video:description>For each day, count the wait until a warmer one. Keep a stack of days still waiting; a warm day pops every colder day below it.</video:description>
<video:content_loc>https://leettube.dev/api/video/daily-temperatures/video.mp4</video:content_loc>
<video:duration>108</video:duration>
<video:publication_date>2026-10-07T21:15:55.845Z</video:publication_date>
</video:video>
<lastmod>2026-10-07T21:15:55.845Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://leettube.dev/watch/trapping-rain-water</loc>
<video:video>
<video:title>Trapping Rain Water (LeetCode 42)</video:title>
<video:thumbnail_loc>https://leettube.dev/posters/trapping-rain-water.webp</video:thumbnail_loc>
<video:description>How much rain pools between the bars? Walk in from both ends, always moving the side with the lower wall, whose water is already decided.</video:description>
<video:content_loc>https://leettube.dev/api/video/trapping-rain-water/video.mp4</video:content_loc>
<video:duration>95</video:duration>
<video:publication_date>2026-10-07T21:19:48.795Z</video:publication_date>
</video:video>
<lastmod>2026-10-07T21:19:48.795Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://leettube.dev/watch/largest-rectangle</loc>
<video:video>
<video:title>Largest Rectangle in Histogram (LeetCode 84)</video:title>
<video:thumbnail_loc>https://leettube.dev/posters/largest-rectangle.webp</video:thumbnail_loc>
<video:description>The biggest rectangle under a histogram. Keep a stack of rising bars, and when a shorter bar arrives, pop and measure each taller one.</video:description>
<video:content_loc>https://leettube.dev/api/video/largest-rectangle/video.mp4</video:content_loc>
<video:duration>95</video:duration>
<video:publication_date>2026-10-07T21:17:09.193Z</video:publication_date>
</video:video>
<lastmod>2026-10-07T21:17:09.193Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://leettube.dev/watch/search-a-2d-matrix</loc>
<video:video>
<video:title>Search a 2D Matrix (LeetCode 74)</video:title>
<video:thumbnail_loc>https://leettube.dev/posters/search-a-2d-matrix.webp</video:thumbnail_loc>
<video:description>Each row is sorted and starts above the last row&apos;s end, so the grid is one sorted list in disguise: binary search it with row and column math.</video:description>
<video:content_loc>https://leettube.dev/api/video/search-a-2d-matrix/video.mp4</video:content_loc>
<video:duration>112</video:duration>
<video:publication_date>2026-10-07T21:19:13.457Z</video:publication_date>
</video:video>
<lastmod>2026-10-07T21:19:13.457Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://leettube.dev/watch/search-in-rotated-sorted-array</loc>
<video:video>
<video:title>Search in Rotated Sorted Array (LeetCode 33)</video:title>
<video:thumbnail_loc>https://leettube.dev/posters/search-in-rotated-sorted-array.webp</video:thumbnail_loc>
<video:description>A sorted list was rotated, yet binary search still works: one half is always in order, so check if the target sits there and drop the other.</video:description>
<video:content_loc>https://leettube.dev/api/video/search-in-rotated-sorted-array/video.mp4</video:content_loc>
<video:duration>95</video:duration>
<video:publication_date>2026-10-07T21:19:14.918Z</video:publication_date>
</video:video>
<lastmod>2026-10-07T21:19:14.918Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://leettube.dev/watch/koko-eating-bananas</loc>
<video:video>
<video:title>Koko Eating Bananas (LeetCode 875)</video:title>
<video:thumbnail_loc>https://leettube.dev/posters/koko-eating-bananas.webp</video:thumbnail_loc>
<video:description>Koko must finish every banana pile before the guard returns in h hours. Hours only shrink as her speed grows, so binary search the speeds from 1 to the biggest pile for the slowest one that fits, in O(n log max).</video:description>
<video:content_loc>https://leettube.dev/api/video/koko-eating-bananas/video.mp4</video:content_loc>
<video:duration>106</video:duration>
<video:publication_date>2026-10-08T00:11:22.094Z</video:publication_date>
</video:video>
<lastmod>2026-10-08T00:11:22.094Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://leettube.dev/watch/median-of-two-sorted-arrays</loc>
<video:video>
<video:title>Median of Two Sorted Arrays (LeetCode 4)</video:title>
<video:thumbnail_loc>https://leettube.dev/posters/median-of-two-sorted-arrays.webp</video:thumbnail_loc>
<video:description>Find the median of two sorted arrays in log time. Binary search a cut in the shorter one so the two left parts together hold the smaller half.</video:description>
<video:content_loc>https://leettube.dev/api/video/median-of-two-sorted-arrays/video.mp4</video:content_loc>
<video:duration>104</video:duration>
<video:publication_date>2026-10-07T21:17:40.761Z</video:publication_date>
</video:video>
<lastmod>2026-10-07T21:17:40.761Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://leettube.dev/watch/intro-trees</loc>
<video:video>
<video:title>Trees tutorial</video:title>
<video:thumbnail_loc>https://leettube.dev/posters/intro-trees.webp</video:thumbnail_loc>
<video:description>Trust each child to answer, then combine the answers at the node. A missing child is the base case, and three lines of code solve most tree problems.</video:description>
<video:content_loc>https://leettube.dev/api/video/intro-trees/video.mp4</video:content_loc>
<video:duration>45</video:duration>
<video:publication_date>2026-10-07T21:16:53.225Z</video:publication_date>
</video:video>
<lastmod>2026-10-07T21:16:53.225Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://leettube.dev/watch/invert-binary-tree</loc>
<video:video>
<video:title>Invert Binary Tree (LeetCode 226)</video:title>
<video:thumbnail_loc>https://leettube.dev/posters/invert-binary-tree.webp</video:thumbnail_loc>
<video:description>Mirror a binary tree. Swap a node&apos;s two children, then do the same to each child, all the way down.</video:description>
<video:content_loc>https://leettube.dev/api/video/invert-binary-tree/video.mp4</video:content_loc>
<video:duration>88</video:duration>
<video:publication_date>2026-10-07T21:16:56.090Z</video:publication_date>
</video:video>
<lastmod>2026-10-07T21:16:56.090Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://leettube.dev/watch/maximum-depth</loc>
<video:video>
<video:title>Maximum Depth of Binary Tree (LeetCode 104)</video:title>
<video:thumbnail_loc>https://leettube.dev/posters/maximum-depth.webp</video:thumbnail_loc>
<video:description>How deep does a binary tree go? Ask each child for its depth, take the bigger one and add one for yourself.</video:description>
<video:content_loc>https://leettube.dev/api/video/maximum-depth/video.mp4</video:content_loc>
<video:duration>89</video:duration>
<video:publication_date>2026-10-07T21:17:35.313Z</video:publication_date>
</video:video>
<lastmod>2026-10-07T21:17:35.313Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://leettube.dev/watch/same-tree</loc>
<video:video>
<video:title>Same Tree (LeetCode 100)</video:title>
<video:thumbnail_loc>https://leettube.dev/posters/same-tree.webp</video:thumbnail_loc>
<video:description>Are two binary trees identical? Compare the two roots, then trust recursion to compare the left pair and the right pair. A mismatch anywhere ends it.</video:description>
<video:content_loc>https://leettube.dev/api/video/same-tree/video.mp4</video:content_loc>
<video:duration>102</video:duration>
<video:publication_date>2026-10-07T21:19:11.610Z</video:publication_date>
</video:video>
<lastmod>2026-10-07T21:19:11.610Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://leettube.dev/watch/symmetric-tree</loc>
<video:video>
<video:title>Symmetric Tree (LeetCode 101)</video:title>
<video:thumbnail_loc>https://leettube.dev/posters/symmetric-tree.webp</video:thumbnail_loc>
<video:description>Is a binary tree its own mirror? Compare the left and right subtrees in pairs: outer with outer, inner with inner, all the way down.</video:description>
<video:content_loc>https://leettube.dev/api/video/symmetric-tree/video.mp4</video:content_loc>
<video:duration>95</video:duration>
<video:publication_date>2026-10-07T21:19:42.823Z</video:publication_date>
</video:video>
<lastmod>2026-10-07T21:19:42.823Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://leettube.dev/watch/diameter-of-binary-tree</loc>
<video:video>
<video:title>Diameter of Binary Tree (LeetCode 543)</video:title>
<video:thumbnail_loc>https://leettube.dev/posters/diameter-of-binary-tree.webp</video:thumbnail_loc>
<video:description>Find the longest path between any two nodes. Each node asks its children for their heights, and the path bending through it is left plus right.</video:description>
<video:content_loc>https://leettube.dev/api/video/diameter-of-binary-tree/video.mp4</video:content_loc>
<video:duration>100</video:duration>
<video:publication_date>2026-10-07T21:16:09.938Z</video:publication_date>
</video:video>
<lastmod>2026-10-07T21:16:09.938Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://leettube.dev/watch/balanced-binary-tree</loc>
<video:video>
<video:title>Balanced Binary Tree (LeetCode 110)</video:title>
<video:thumbnail_loc>https://leettube.dev/posters/balanced-binary-tree.webp</video:thumbnail_loc>
<video:description>Is every node&apos;s left and right height within one? Return each subtree&apos;s height from the bottom up, and a -1 the moment any node is lopsided.</video:description>
<video:content_loc>https://leettube.dev/api/video/balanced-binary-tree/video.mp4</video:content_loc>
<video:duration>99</video:duration>
<video:publication_date>2026-10-07T21:15:00.079Z</video:publication_date>
</video:video>
<lastmod>2026-10-07T21:15:00.079Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://leettube.dev/watch/subtree-of-another-tree</loc>
<video:video>
<video:title>Subtree of Another Tree (LeetCode 572)</video:title>
<video:thumbnail_loc>https://leettube.dev/posters/subtree-of-another-tree.webp</video:thumbnail_loc>
<video:description>Check if one binary tree appears inside another. Try every node as a starting point and run a same-tree check from there.</video:description>
<video:content_loc>https://leettube.dev/api/video/subtree-of-another-tree/video.mp4</video:content_loc>
<video:duration>99</video:duration>
<video:publication_date>2026-10-07T21:19:34.230Z</video:publication_date>
</video:video>
<lastmod>2026-10-07T21:19:34.230Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://leettube.dev/watch/level-order-traversal</loc>
<video:video>
<video:title>Level Order Traversal (LeetCode 102)</video:title>
<video:thumbnail_loc>https://leettube.dev/posters/level-order-traversal.webp</video:thumbnail_loc>
<video:description>Read a binary tree one level at a time. Keep a queue, and each round empty exactly the nodes that were in it when the round began.</video:description>
<video:content_loc>https://leettube.dev/api/video/level-order-traversal/video.mp4</video:content_loc>
<video:duration>90</video:duration>
<video:publication_date>2026-10-07T21:17:14.505Z</video:publication_date>
</video:video>
<lastmod>2026-10-07T21:17:14.505Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://leettube.dev/watch/binary-tree-right-side-view</loc>
<video:video>
<video:title>Binary Tree Right Side View (LeetCode 199)</video:title>
<video:thumbnail_loc>https://leettube.dev/posters/binary-tree-right-side-view.webp</video:thumbnail_loc>
<video:description>List the nodes you&apos;d see standing to the right of a binary tree. Walk it level by level and keep the last node on each level.</video:description>
<video:content_loc>https://leettube.dev/api/video/binary-tree-right-side-view/video.mp4</video:content_loc>
<video:duration>93</video:duration>
<video:publication_date>2026-10-07T21:15:15.437Z</video:publication_date>
</video:video>
<lastmod>2026-10-07T21:15:15.437Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://leettube.dev/watch/validate-bst</loc>
<video:video>
<video:title>Validate BST (LeetCode 98)</video:title>
<video:thumbnail_loc>https://leettube.dev/posters/validate-bst.webp</video:thumbnail_loc>
<video:description>Is this a valid binary search tree? Checking each parent and child isn&apos;t enough; pass down the lowest and highest values each subtree is allowed.</video:description>
<video:content_loc>https://leettube.dev/api/video/validate-bst/video.mp4</video:content_loc>
<video:duration>98</video:duration>
<video:publication_date>2026-10-07T21:20:02.225Z</video:publication_date>
</video:video>
<lastmod>2026-10-07T21:20:02.225Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://leettube.dev/watch/count-good-nodes-in-binary-tree</loc>
<video:video>
<video:title>Count Good Nodes in Binary Tree (LeetCode 1448)</video:title>
<video:thumbnail_loc>https://leettube.dev/posters/count-good-nodes-in-binary-tree.webp</video:thumbnail_loc>
<video:description>A node is good if nothing on the path from the root is bigger. Walk down with DFS carrying the largest value seen so far, and count every node that meets or beats it, in O(n) time.</video:description>
<video:content_loc>https://leettube.dev/api/video/count-good-nodes-in-binary-tree/video.mp4</video:content_loc>
<video:duration>91</video:duration>
<video:publication_date>2026-10-08T00:03:55.058Z</video:publication_date>
</video:video>
<lastmod>2026-10-08T00:03:55.058Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://leettube.dev/watch/convert-sorted-array-to-binary-search-tree</loc>
<video:video>
<video:title>Convert Sorted Array to Binary Search Tree (LeetCode 108)</video:title>
<video:thumbnail_loc>https://leettube.dev/posters/convert-sorted-array-to-binary-search-tree.webp</video:thumbnail_loc>
<video:description>Turn a sorted array into a height-balanced BST. The middle value becomes the root, and each half recursively builds its own subtree.</video:description>
<video:content_loc>https://leettube.dev/api/video/convert-sorted-array-to-binary-search-tree/video.mp4</video:content_loc>
<video:duration>97</video:duration>
<video:publication_date>2026-10-07T21:15:45.191Z</video:publication_date>
</video:video>
<lastmod>2026-10-07T21:15:45.191Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://leettube.dev/watch/kth-smallest-in-bst</loc>
<video:video>
<video:title>Kth Smallest Element in a BST (LeetCode 230)</video:title>
<video:thumbnail_loc>https://leettube.dev/posters/kth-smallest-in-bst.webp</video:thumbnail_loc>
<video:description>Find the kth smallest value in a BST. An inorder walk visits values in sorted order, so stop at the kth node you reach.</video:description>
<video:content_loc>https://leettube.dev/api/video/kth-smallest-in-bst/video.mp4</video:content_loc>
<video:duration>98</video:duration>
<video:publication_date>2026-10-07T21:17:07.837Z</video:publication_date>
</video:video>
<lastmod>2026-10-07T21:17:07.837Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://leettube.dev/watch/lowest-common-ancestor</loc>
<video:video>
<video:title>Lowest Common Ancestor (LeetCode 236)</video:title>
<video:thumbnail_loc>https://leettube.dev/posters/lowest-common-ancestor.webp</video:thumbnail_loc>
<video:description>Find the deepest node above two targets in one pass: each node reports what it found, and the node where both sides answer wins.</video:description>
<video:content_loc>https://leettube.dev/api/video/lowest-common-ancestor/video.mp4</video:content_loc>
<video:duration>94</video:duration>
<video:publication_date>2026-10-07T21:17:31.968Z</video:publication_date>
</video:video>
<lastmod>2026-10-07T21:17:31.968Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://leettube.dev/watch/construct-binary-tree-from-preorder-and-inorder</loc>
<video:video>
<video:title>Construct Binary Tree from Preorder and Inorder Traversal (LeetCode 105)</video:title>
<video:thumbnail_loc>https://leettube.dev/posters/construct-binary-tree-from-preorder-and-inorder.webp</video:thumbnail_loc>
<video:description>Rebuild a tree from two traversals. Preorder names each root; its spot in inorder splits the left and right subtrees.</video:description>
<video:content_loc>https://leettube.dev/api/video/construct-binary-tree-from-preorder-and-inorder/video.mp4</video:content_loc>
<video:duration>107</video:duration>
<video:publication_date>2026-10-07T21:15:40.737Z</video:publication_date>
</video:video>
<lastmod>2026-10-07T21:15:40.737Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://leettube.dev/watch/flatten-binary-tree-to-linked-list</loc>
<video:video>
<video:title>Flatten Binary Tree to Linked List (LeetCode 114)</video:title>
<video:thumbnail_loc>https://leettube.dev/posters/flatten-binary-tree-to-linked-list.webp</video:thumbnail_loc>
<video:description>Turn a tree into a right-leaning chain in preorder, in place. At each node, find the rightmost node of its left side, hang the right subtree there, swing the left side over to the right, and step on: O(n) time, O(1) space.</video:description>
<video:content_loc>https://leettube.dev/api/video/flatten-binary-tree-to-linked-list/video.mp4</video:content_loc>
<video:duration>97</video:duration>
<video:publication_date>2026-10-08T02:29:45.122Z</video:publication_date>
</video:video>
<lastmod>2026-10-08T02:29:45.122Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://leettube.dev/watch/implement-trie</loc>
<video:video>
<video:title>Implement Trie (LeetCode 208)</video:title>
<video:thumbnail_loc>https://leettube.dev/posters/implement-trie.webp</video:thumbnail_loc>
<video:description>Insert words, search them and check prefixes. A tree of letters lets words that share a prefix share a path.</video:description>
<video:content_loc>https://leettube.dev/api/video/implement-trie/video.mp4</video:content_loc>
<video:duration>93</video:duration>
<video:publication_date>2026-10-07T21:16:38.269Z</video:publication_date>
</video:video>
<lastmod>2026-10-07T21:16:38.269Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://leettube.dev/watch/binary-tree-maximum-path-sum</loc>
<video:video>
<video:title>Binary Tree Maximum Path Sum (LeetCode 124)</video:title>
<video:thumbnail_loc>https://leettube.dev/posters/binary-tree-maximum-path-sum.webp</video:thumbnail_loc>
<video:description>Find the best path anywhere in a tree. Each node reports its best one-sided branch upward and checks the path that bends through it.</video:description>
<video:content_loc>https://leettube.dev/api/video/binary-tree-maximum-path-sum/video.mp4</video:content_loc>
<video:duration>103</video:duration>
<video:publication_date>2026-10-07T21:15:13.256Z</video:publication_date>
</video:video>
<lastmod>2026-10-07T21:15:13.256Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://leettube.dev/watch/binary-tree-cameras</loc>
<video:video>
<video:title>Binary Tree Cameras (LeetCode 968)</video:title>
<video:thumbnail_loc>https://leettube.dev/posters/binary-tree-cameras.webp</video:thumbnail_loc>
<video:description>Fewest cameras to watch every node: work up from the leaves with three states, put a camera on any parent of an unwatched child.</video:description>
<video:content_loc>https://leettube.dev/api/video/binary-tree-cameras/video.mp4</video:content_loc>
<video:duration>97</video:duration>
<video:publication_date>2026-10-07T21:15:11.114Z</video:publication_date>
</video:video>
<lastmod>2026-10-07T21:15:11.114Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://leettube.dev/watch/serialize-and-deserialize-binary-tree</loc>
<video:video>
<video:title>Serialize and Deserialize Binary Tree (LeetCode 297)</video:title>
<video:thumbnail_loc>https://leettube.dev/posters/serialize-and-deserialize-binary-tree.webp</video:thumbnail_loc>
<video:description>Turn a binary tree into a string and back. Write it in preorder with a marker for every missing child, then read it back the same way.</video:description>
<video:content_loc>https://leettube.dev/api/video/serialize-and-deserialize-binary-tree/video.mp4</video:content_loc>
<video:duration>103</video:duration>
<video:publication_date>2026-10-07T21:19:16.323Z</video:publication_date>
</video:video>
<lastmod>2026-10-07T21:19:16.323Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://leettube.dev/watch/intro-backtracking</loc>
<video:video>
<video:title>Backtracking tutorial</video:title>
<video:thumbnail_loc>https://leettube.dev/posters/intro-backtracking.webp</video:thumbnail_loc>
<video:description>Build an answer one choice at a time and undo the ones that lead nowhere: choose, recurse, then un-choose so the next choice starts clean.</video:description>
<video:content_loc>https://leettube.dev/api/video/intro-backtracking/video.mp4</video:content_loc>
<video:duration>45</video:duration>
<video:publication_date>2026-10-07T21:16:45.049Z</video:publication_date>
</video:video>
<lastmod>2026-10-07T21:16:45.049Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://leettube.dev/watch/subsets</loc>
<video:video>
<video:title>Subsets (LeetCode 78)</video:title>
<video:thumbnail_loc>https://leettube.dev/posters/subsets.webp</video:thumbnail_loc>
<video:description>List every subset of a set of distinct numbers, empty one included. For each number, branch on taking it or leaving it.</video:description>
<video:content_loc>https://leettube.dev/api/video/subsets/video.mp4</video:content_loc>
<video:duration>97</video:duration>
<video:publication_date>2026-10-07T21:19:32.631Z</video:publication_date>
</video:video>
<lastmod>2026-10-07T21:19:32.631Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://leettube.dev/watch/subsets-ii</loc>
<video:video>
<video:title>Subsets II (LeetCode 90)</video:title>
<video:thumbnail_loc>https://leettube.dev/posters/subsets-ii.webp</video:thumbnail_loc>
<video:description>List every subset of a list that has duplicates, with no repeats. Sort first, then skip a value already tried at the same depth.</video:description>
<video:content_loc>https://leettube.dev/api/video/subsets-ii/video.mp4</video:content_loc>
<video:duration>100</video:duration>
<video:publication_date>2026-10-07T21:19:31.143Z</video:publication_date>
</video:video>
<lastmod>2026-10-07T21:19:31.143Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://leettube.dev/watch/combinations</loc>
<video:video>
<video:title>Combinations (LeetCode 77)</video:title>
<video:thumbnail_loc>https://leettube.dev/posters/combinations.webp</video:thumbnail_loc>
<video:description>Every way to choose k numbers from 1 to n. Pick the next number only from those after the last pick, recurse, then undo the pick and try the next.</video:description>
<video:content_loc>https://leettube.dev/api/video/combinations/video.mp4</video:content_loc>
<video:duration>102</video:duration>
<video:publication_date>2026-10-07T21:15:39.281Z</video:publication_date>
</video:video>
<lastmod>2026-10-07T21:15:39.281Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://leettube.dev/watch/generate-parentheses</loc>
<video:video>
<video:title>Generate Parentheses (LeetCode 22)</video:title>
<video:thumbnail_loc>https://leettube.dev/posters/generate-parentheses.webp</video:thumbnail_loc>
<video:description>List every balanced string of n pairs of parentheses. Add an opener while you have one left, and a closer only when it has a match.</video:description>
<video:content_loc>https://leettube.dev/api/video/generate-parentheses/video.mp4</video:content_loc>
<video:duration>99</video:duration>
<video:publication_date>2026-10-07T21:16:26.040Z</video:publication_date>
</video:video>
<lastmod>2026-10-07T21:16:26.040Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://leettube.dev/watch/letter-combinations</loc>
<video:video>
<video:title>Letter Combinations (LeetCode 17)</video:title>
<video:thumbnail_loc>https://leettube.dev/posters/letter-combinations.webp</video:thumbnail_loc>
<video:description>Spell every word a phone number could make. Fill one position at a time from its key, recurse for the rest, then pop and try the next letter.</video:description>
<video:content_loc>https://leettube.dev/api/video/letter-combinations/video.mp4</video:content_loc>
<video:duration>100</video:duration>
<video:publication_date>2026-10-07T21:17:12.903Z</video:publication_date>
</video:video>
<lastmod>2026-10-07T21:17:12.903Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://leettube.dev/watch/permutations</loc>
<video:video>
<video:title>Permutations (LeetCode 46)</video:title>
<video:thumbnail_loc>https://leettube.dev/posters/permutations.webp</video:thumbnail_loc>
<video:description>List every order of a set of numbers. Fill one seat at a time with a number you haven&apos;t used, recurse, then take it back and try the next.</video:description>
<video:content_loc>https://leettube.dev/api/video/permutations/video.mp4</video:content_loc>
<video:duration>96</video:duration>
<video:publication_date>2026-10-07T21:18:38.058Z</video:publication_date>
</video:video>
<lastmod>2026-10-07T21:18:38.058Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://leettube.dev/watch/permutations-ii</loc>
<video:video>
<video:title>Permutations II (LeetCode 47)</video:title>
<video:thumbnail_loc>https://leettube.dev/posters/permutations-ii.webp</video:thumbnail_loc>
<video:description>Every distinct ordering of numbers that may repeat. Sort first, then skip a copy whenever its twin to the left is still unused in this branch.</video:description>
<video:content_loc>https://leettube.dev/api/video/permutations-ii/video.mp4</video:content_loc>
<video:duration>104</video:duration>
<video:publication_date>2026-10-07T21:18:36.438Z</video:publication_date>
</video:video>
<lastmod>2026-10-07T21:18:36.438Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://leettube.dev/watch/combination-sum</loc>
<video:video>
<video:title>Combination Sum (LeetCode 39)</video:title>
<video:thumbnail_loc>https://leettube.dev/posters/combination-sum.webp</video:thumbnail_loc>
<video:description>Find every combination that adds up to the target, reusing numbers as often as you like. Recurse with a start index so each combination appears once.</video:description>
<video:content_loc>https://leettube.dev/api/video/combination-sum/video.mp4</video:content_loc>
<video:duration>102</video:duration>
<video:publication_date>2026-10-07T21:15:37.930Z</video:publication_date>
</video:video>
<lastmod>2026-10-07T21:15:37.930Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://leettube.dev/watch/combination-sum-ii</loc>
<video:video>
<video:title>Combination Sum II (LeetCode 40)</video:title>
<video:thumbnail_loc>https://leettube.dev/posters/combination-sum-ii.webp</video:thumbnail_loc>
<video:description>Find every combination that sums to a target, using each number once. Sort, skip repeats at the same depth, and stop once numbers get too big.</video:description>
<video:content_loc>https://leettube.dev/api/video/combination-sum-ii/video.mp4</video:content_loc>
<video:duration>112</video:duration>
<video:publication_date>2026-10-07T21:15:34.893Z</video:publication_date>
</video:video>
<lastmod>2026-10-07T21:15:34.893Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://leettube.dev/watch/combination-sum-iii</loc>
<video:video>
<video:title>Combination Sum III (LeetCode 216)</video:title>
<video:thumbnail_loc>https://leettube.dev/posters/combination-sum-iii.webp</video:thumbnail_loc>
<video:description>Every set of k distinct digits from 1 to 9 that sums to n: pick in increasing order, track what&apos;s left, and stop once a digit is too big.</video:description>
<video:content_loc>https://leettube.dev/api/video/combination-sum-iii/video.mp4</video:content_loc>
<video:duration>95</video:duration>
<video:publication_date>2026-10-07T21:15:36.460Z</video:publication_date>
</video:video>
<lastmod>2026-10-07T21:15:36.460Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://leettube.dev/watch/target-sum</loc>
<video:video>
<video:title>Target Sum (LeetCode 494)</video:title>
<video:thumbnail_loc>https://leettube.dev/posters/target-sum.webp</video:thumbnail_loc>
<video:description>Put + or − before every number and count the ways to hit the target. The sign tree doubles at every step, but the same (index, running total) keeps coming back, so memoize it and the work drops to O(n·S).</video:description>
<video:content_loc>https://leettube.dev/api/video/target-sum/video.mp4</video:content_loc>
<video:duration>94</video:duration>
<video:publication_date>2026-10-08T00:25:44.840Z</video:publication_date>
</video:video>
<lastmod>2026-10-08T00:25:44.840Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://leettube.dev/watch/partition-to-k-equal-sum-subsets</loc>
<video:video>
<video:title>Partition to K Equal Sum Subsets (LeetCode 698)</video:title>
<video:thumbnail_loc>https://leettube.dev/posters/partition-to-k-equal-sum-subsets.webp</video:thumbnail_loc>
<video:description>Split numbers into k groups with equal sums: find the target, place the biggest numbers first, and skip buckets that repeat a sum.</video:description>
<video:content_loc>https://leettube.dev/api/video/partition-to-k-equal-sum-subsets/video.mp4</video:content_loc>
<video:duration>99</video:duration>
<video:publication_date>2026-10-07T21:18:30.357Z</video:publication_date>
</video:video>
<lastmod>2026-10-07T21:18:30.357Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://leettube.dev/watch/matchsticks-to-square</loc>
<video:video>
<video:title>Matchsticks to Square (LeetCode 473)</video:title>
<video:thumbnail_loc>https://leettube.dev/posters/matchsticks-to-square.webp</video:thumbnail_loc>
<video:description>Can every matchstick, used once and unbroken, form a square? Check the total splits by four, sort longest first, then place each stick on a side with room and undo on a dead end, skipping side lengths already tried.</video:description>
<video:content_loc>https://leettube.dev/api/video/matchsticks-to-square/video.mp4</video:content_loc>
<video:duration>99</video:duration>
<video:publication_date>2026-10-08T02:56:10.819Z</video:publication_date>
</video:video>
<lastmod>2026-10-08T02:56:10.819Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://leettube.dev/watch/palindrome-partitioning</loc>
<video:video>
<video:title>Palindrome Partitioning (LeetCode 131)</video:title>
<video:thumbnail_loc>https://leettube.dev/posters/palindrome-partitioning.webp</video:thumbnail_loc>
<video:description>Split a string into palindromes every possible way. Cut off a palindrome prefix, recurse on the rest, then undo the cut and try a longer one.</video:description>
<video:content_loc>https://leettube.dev/api/video/palindrome-partitioning/video.mp4</video:content_loc>
<video:duration>105</video:duration>
<video:publication_date>2026-10-07T21:18:24.102Z</video:publication_date>
</video:video>
<lastmod>2026-10-07T21:18:24.102Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://leettube.dev/watch/restore-ip-addresses</loc>
<video:video>
<video:title>Restore IP Addresses (LeetCode 93)</video:title>
<video:thumbnail_loc>https://leettube.dev/posters/restore-ip-addresses.webp</video:thumbnail_loc>
<video:description>Split a digit string into four valid IP parts: try a 1, 2 or 3 digit chunk, recurse, and back up when a part tops 255 or has a leading zero.</video:description>
<video:content_loc>https://leettube.dev/api/video/restore-ip-addresses/video.mp4</video:content_loc>
<video:duration>101</video:duration>
<video:publication_date>2026-10-07T21:18:59.506Z</video:publication_date>
</video:video>
<lastmod>2026-10-07T21:18:59.506Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://leettube.dev/watch/word-search</loc>
<video:video>
<video:title>Word Search (LeetCode 79)</video:title>
<video:thumbnail_loc>https://leettube.dev/posters/word-search.webp</video:thumbnail_loc>
<video:description>Can you spell a word through neighbouring letters in a grid? Try each path, mark the cells you use, and unmark them when you back out.</video:description>
<video:content_loc>https://leettube.dev/api/video/word-search/video.mp4</video:content_loc>
<video:duration>103</video:duration>
<video:publication_date>2026-10-07T21:20:09.316Z</video:publication_date>
</video:video>
<lastmod>2026-10-07T21:20:09.316Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://leettube.dev/watch/word-search-ii</loc>
<video:video>
<video:title>Word Search II (LeetCode 212)</video:title>
<video:thumbnail_loc>https://leettube.dev/posters/word-search-ii.webp</video:thumbnail_loc>
<video:description>Find every word from a list on a letter grid. Build a trie of the words and walk the board once, following only paths the trie allows.</video:description>
<video:content_loc>https://leettube.dev/api/video/word-search-ii/video.mp4</video:content_loc>
<video:duration>98</video:duration>
<video:publication_date>2026-10-07T21:20:07.671Z</video:publication_date>
</video:video>
<lastmod>2026-10-07T21:20:07.671Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://leettube.dev/watch/n-queens</loc>
<video:video>
<video:title>N-Queens (LeetCode 51)</video:title>
<video:thumbnail_loc>https://leettube.dev/posters/n-queens.webp</video:thumbnail_loc>
<video:description>Place n queens so none can attack another. Go row by row, track the columns and both diagonals in use, and back up at dead ends.</video:description>
<video:content_loc>https://leettube.dev/api/video/n-queens/video.mp4</video:content_loc>
<video:duration>100</video:duration>
<video:publication_date>2026-10-07T21:18:05.456Z</video:publication_date>
</video:video>
<lastmod>2026-10-07T21:18:05.456Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://leettube.dev/watch/n-queens-ii</loc>
<video:video>
<video:title>N-Queens II (LeetCode 52)</video:title>
<video:thumbnail_loc>https://leettube.dev/posters/n-queens-ii.webp</video:thumbnail_loc>
<video:description>Count the ways to place n queens with no attacks: one queen per row, three sets for columns and diagonals, undo and try the next.</video:description>
<video:content_loc>https://leettube.dev/api/video/n-queens-ii/video.mp4</video:content_loc>
<video:duration>96</video:duration>
<video:publication_date>2026-10-07T21:18:03.944Z</video:publication_date>
</video:video>
<lastmod>2026-10-07T21:18:03.944Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://leettube.dev/watch/sudoku-solver</loc>
<video:video>
<video:title>Sudoku Solver (LeetCode 37)</video:title>
<video:thumbnail_loc>https://leettube.dev/posters/sudoku-solver.webp</video:thumbnail_loc>
<video:description>Fill a Sudoku grid so every row, column and box holds 1 to 9. Try a digit, keep going while it fits, and undo it when you hit a dead end.</video:description>
<video:content_loc>https://leettube.dev/api/video/sudoku-solver/video.mp4</video:content_loc>
<video:duration>101</video:duration>
<video:publication_date>2026-10-07T21:19:36.415Z</video:publication_date>
</video:video>
<lastmod>2026-10-07T21:19:36.415Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://leettube.dev/watch/intro-dynamic-programming</loc>
<video:video>
<video:title>Dynamic programming tutorial</video:title>
<video:thumbnail_loc>https://leettube.dev/posters/intro-dynamic-programming.webp</video:thumbnail_loc>
<video:description>Never solve the same problem twice. Save each answer as you recurse, or fill a table from the smallest case up.</video:description>
<video:content_loc>https://leettube.dev/api/video/intro-dynamic-programming/video.mp4</video:content_loc>
<video:duration>44</video:duration>
<video:publication_date>2026-10-07T21:16:48.481Z</video:publication_date>
</video:video>
<lastmod>2026-10-07T21:16:48.481Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://leettube.dev/watch/climbing-stairs</loc>
<video:video>
<video:title>Climbing Stairs (LeetCode 70)</video:title>
<video:thumbnail_loc>https://leettube.dev/posters/climbing-stairs.webp</video:thumbnail_loc>
<video:description>Count the ways up a staircase taking one or two steps at a time. Each stair&apos;s count is the sum of the two below it, so climb once and keep just two numbers.</video:description>
<video:content_loc>https://leettube.dev/api/video/climbing-stairs/video.mp4</video:content_loc>
<video:duration>85</video:duration>
<video:publication_date>2026-10-07T21:15:28.438Z</video:publication_date>
</video:video>
<lastmod>2026-10-07T21:15:28.438Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://leettube.dev/watch/house-robber</loc>
<video:video>
<video:title>House Robber (LeetCode 198)</video:title>
<video:thumbnail_loc>https://leettube.dev/posters/house-robber.webp</video:thumbnail_loc>
<video:description>Rob the most cash from a row of houses without hitting two neighbours. Carry the best haul so far, one house at a time.</video:description>
<video:content_loc>https://leettube.dev/api/video/house-robber/video.mp4</video:content_loc>
<video:duration>85</video:duration>
<video:publication_date>2026-10-07T21:16:35.140Z</video:publication_date>
</video:video>
<lastmod>2026-10-07T21:16:35.140Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://leettube.dev/watch/house-robber-ii</loc>
<video:video>
<video:title>House Robber II (LeetCode 213)</video:title>
<video:thumbnail_loc>https://leettube.dev/posters/house-robber-ii.webp</video:thumbnail_loc>
<video:description>Rob houses in a circle without hitting two neighbours. The first and last touch, so run House Robber twice: once without each end.</video:description>
<video:content_loc>https://leettube.dev/api/video/house-robber-ii/video.mp4</video:content_loc>
<video:duration>95</video:duration>
<video:publication_date>2026-10-07T21:16:33.486Z</video:publication_date>
</video:video>
<lastmod>2026-10-07T21:16:33.486Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://leettube.dev/watch/maximum-product-subarray</loc>
<video:video>
<video:title>Maximum Product Subarray (LeetCode 152)</video:title>
<video:thumbnail_loc>https://leettube.dev/posters/maximum-product-subarray.webp</video:thumbnail_loc>
<video:description>Largest product of a contiguous run: track the high and the low at each step, because a negative number swaps them.</video:description>
<video:content_loc>https://leettube.dev/api/video/maximum-product-subarray/video.mp4</video:content_loc>
<video:duration>101</video:duration>
<video:publication_date>2026-10-07T21:17:36.856Z</video:publication_date>
</video:video>
<lastmod>2026-10-07T21:17:36.856Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://leettube.dev/watch/best-time-to-buy-and-sell-stock-with-cooldown</loc>
<video:video>
<video:title>Best Time to Buy and Sell Stock with Cooldown (LeetCode 309)</video:title>
<video:thumbnail_loc>https://leettube.dev/posters/best-time-to-buy-and-sell-stock-with-cooldown.webp</video:thumbnail_loc>
<video:description>Max profit when every sale forces a one-day rest: track three states each day (holding, just sold, resting) and step them forward together.</video:description>
<video:content_loc>https://leettube.dev/api/video/best-time-to-buy-and-sell-stock-with-cooldown/video.mp4</video:content_loc>
<video:duration>102</video:duration>
<video:publication_date>2026-10-07T21:15:01.842Z</video:publication_date>
</video:video>
<lastmod>2026-10-07T21:15:01.842Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://leettube.dev/watch/best-time-to-buy-and-sell-stock-with-transaction-fee</loc>
<video:video>
<video:title>Best Time to Buy and Sell Stock with Transaction Fee (LeetCode 714)</video:title>
<video:thumbnail_loc>https://leettube.dev/posters/best-time-to-buy-and-sell-stock-with-transaction-fee.webp</video:thumbnail_loc>
<video:description>Trade as often as you like, but every sale costs a fee. Track two states, cash and holding, and update both each day in one pass.</video:description>
<video:content_loc>https://leettube.dev/api/video/best-time-to-buy-and-sell-stock-with-transaction-fee/video.mp4</video:content_loc>
<video:duration>106</video:duration>
<video:publication_date>2026-10-07T21:15:03.387Z</video:publication_date>
</video:video>
<lastmod>2026-10-07T21:15:03.387Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://leettube.dev/watch/decode-ways</loc>
<video:video>
<video:title>Decode Ways (LeetCode 91)</video:title>
<video:thumbnail_loc>https://leettube.dev/posters/decode-ways.webp</video:thumbnail_loc>
<video:description>Count the ways a string of digits can decode into letters. Each digit can stand alone or pair with the one before it, like climbing stairs.</video:description>
<video:content_loc>https://leettube.dev/api/video/decode-ways/video.mp4</video:content_loc>
<video:duration>100</video:duration>
<video:publication_date>2026-10-07T21:15:57.433Z</video:publication_date>
</video:video>
<lastmod>2026-10-07T21:15:57.433Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://leettube.dev/watch/palindromic-substrings</loc>
<video:video>
<video:title>Palindromic Substrings (LeetCode 647)</video:title>
<video:thumbnail_loc>https://leettube.dev/posters/palindromic-substrings.webp</video:thumbnail_loc>
<video:description>Count every palindrome hiding in a string. Pick each centre, letter or gap, and expand outward while both ends match, one count per step.</video:description>
<video:content_loc>https://leettube.dev/api/video/palindromic-substrings/video.mp4</video:content_loc>
<video:duration>110</video:duration>
<video:publication_date>2026-10-07T21:18:25.624Z</video:publication_date>
</video:video>
<lastmod>2026-10-07T21:18:25.624Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://leettube.dev/watch/longest-palindromic-substring</loc>
<video:video>
<video:title>Longest Palindromic Substring (LeetCode 5)</video:title>
<video:thumbnail_loc>https://leettube.dev/posters/longest-palindromic-substring.webp</video:thumbnail_loc>
<video:description>Find the longest stretch that reads the same both ways. Every palindrome mirrors around a center, a letter or a gap, so try all 2n−1 centers and grow outwards while the ends match, in O(n²) time and O(1) space.</video:description>
<video:content_loc>https://leettube.dev/api/video/longest-palindromic-substring/video.mp4</video:content_loc>
<video:duration>100</video:duration>
<video:publication_date>2026-10-08T00:23:47.686Z</video:publication_date>
</video:video>
<lastmod>2026-10-08T00:23:47.686Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://leettube.dev/watch/unique-paths</loc>
<video:video>
<video:title>Unique Paths (LeetCode 62)</video:title>
<video:thumbnail_loc>https://leettube.dev/posters/unique-paths.webp</video:thumbnail_loc>
<video:description>Count a robot&apos;s routes across a grid moving only right or down. Each cell&apos;s count is the cell above plus the cell to the left.</video:description>
<video:content_loc>https://leettube.dev/api/video/unique-paths/video.mp4</video:content_loc>
<video:duration>97</video:duration>
<video:publication_date>2026-10-07T21:19:53.030Z</video:publication_date>
</video:video>
<lastmod>2026-10-07T21:19:53.030Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://leettube.dev/watch/maximal-square</loc>
<video:video>
<video:title>Maximal Square (LeetCode 221)</video:title>
<video:thumbnail_loc>https://leettube.dev/posters/maximal-square.webp</video:thumbnail_loc>
<video:description>Find the biggest square of 1s in a grid. For each cell, the largest square ending there is one more than the smallest of the squares above, to the left and diagonally up-left, so one pass fills the table in O(mn).</video:description>
<video:content_loc>https://leettube.dev/api/video/maximal-square/video.mp4</video:content_loc>
<video:duration>97</video:duration>
<video:publication_date>2026-10-08T02:44:16.343Z</video:publication_date>
</video:video>
<lastmod>2026-10-08T02:44:16.343Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://leettube.dev/watch/coin-change</loc>
<video:video>
<video:title>Coin Change (LeetCode 322)</video:title>
<video:thumbnail_loc>https://leettube.dev/posters/coin-change.webp</video:thumbnail_loc>
<video:description>The fewest coins that add up to an amount. Greedy fails, so build up from zero, reusing the best answer for each smaller amount.</video:description>
<video:content_loc>https://leettube.dev/api/video/coin-change/video.mp4</video:content_loc>
<video:duration>97</video:duration>
<video:publication_date>2026-10-07T21:15:32.138Z</video:publication_date>
</video:video>
<lastmod>2026-10-07T21:15:32.138Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://leettube.dev/watch/perfect-squares</loc>
<video:video>
<video:title>Perfect Squares (LeetCode 279)</video:title>
<video:thumbnail_loc>https://leettube.dev/posters/perfect-squares.webp</video:thumbnail_loc>
<video:description>Fewest squares that sum to n: build a table up from zero, trying every square that fits. It&apos;s Coin Change with squares as coins.</video:description>
<video:content_loc>https://leettube.dev/api/video/perfect-squares/video.mp4</video:content_loc>
<video:duration>100</video:duration>
<video:publication_date>2026-10-07T21:18:34.323Z</video:publication_date>
</video:video>
<lastmod>2026-10-07T21:18:34.323Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://leettube.dev/watch/partition-equal-subset-sum</loc>
<video:video>
<video:title>Partition Equal Subset Sum (LeetCode 416)</video:title>
<video:thumbnail_loc>https://leettube.dev/posters/partition-equal-subset-sum.webp</video:thumbnail_loc>
<video:description>Split the numbers into two equal-sum halves. Track which sums up to half the total are reachable, adding one number at a time, right to left.</video:description>
<video:content_loc>https://leettube.dev/api/video/partition-equal-subset-sum/video.mp4</video:content_loc>
<video:duration>101</video:duration>
<video:publication_date>2026-10-07T21:18:27.058Z</video:publication_date>
</video:video>
<lastmod>2026-10-07T21:18:27.058Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://leettube.dev/watch/word-break</loc>
<video:video>
<video:title>Word Break (LeetCode 139)</video:title>
<video:thumbnail_loc>https://leettube.dev/posters/word-break.webp</video:thumbnail_loc>
<video:description>Can a string be split into dictionary words? Mark each position you can reach, building on earlier marks, until you reach the end.</video:description>
<video:content_loc>https://leettube.dev/api/video/word-break/video.mp4</video:content_loc>
<video:duration>97</video:duration>
<video:publication_date>2026-10-07T21:20:04.115Z</video:publication_date>
</video:video>
<lastmod>2026-10-07T21:20:04.115Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://leettube.dev/watch/longest-increasing-subsequence</loc>
<video:video>
<video:title>Longest Increasing Subsequence (LeetCode 300)</video:title>
<video:thumbnail_loc>https://leettube.dev/posters/longest-increasing-subsequence.webp</video:thumbnail_loc>
<video:description>Find the longest strictly rising run you can pick out of a list, skipping but never reordering. Build the answer for each ending number from the ones before it, then a bonus O(n log n) trick.</video:description>
<video:content_loc>https://leettube.dev/api/video/longest-increasing-subsequence/video.mp4</video:content_loc>
<video:duration>100</video:duration>
<video:publication_date>2026-10-07T21:17:26.700Z</video:publication_date>
</video:video>
<lastmod>2026-10-07T21:17:26.700Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://leettube.dev/watch/longest-common-subsequence</loc>
<video:video>
<video:title>Longest Common Subsequence (LeetCode 1143)</video:title>
<video:thumbnail_loc>https://leettube.dev/posters/longest-common-subsequence.webp</video:thumbnail_loc>
<video:description>Find the longest sequence two strings share in order. Fill a grid: matching letters extend the diagonal, otherwise take the better neighbour.</video:description>
<video:content_loc>https://leettube.dev/api/video/longest-common-subsequence/video.mp4</video:content_loc>
<video:duration>103</video:duration>
<video:publication_date>2026-10-07T21:17:21.632Z</video:publication_date>
</video:video>
<lastmod>2026-10-07T21:17:21.632Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://leettube.dev/watch/distinct-subsequences</loc>
<video:video>
<video:title>Distinct Subsequences (LeetCode 115)</video:title>
<video:thumbnail_loc>https://leettube.dev/posters/distinct-subsequences.webp</video:thumbnail_loc>
<video:description>Count the ways to pick letters of s, in order, that spell t: each letter is skipped or used, and a table adds up both choices.</video:description>
<video:content_loc>https://leettube.dev/api/video/distinct-subsequences/video.mp4</video:content_loc>
<video:duration>94</video:duration>
<video:publication_date>2026-10-07T21:16:12.155Z</video:publication_date>
</video:video>
<lastmod>2026-10-07T21:16:12.155Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://leettube.dev/watch/maximum-profit-in-job-scheduling</loc>
<video:video>
<video:title>Maximum Profit in Job Scheduling (LeetCode 1235)</video:title>
<video:thumbnail_loc>https://leettube.dev/posters/maximum-profit-in-job-scheduling.webp</video:thumbnail_loc>
<video:description>Pick non-overlapping jobs for the most profit: sort by end time, then each job either skips or adds to the best plan a binary search finds.</video:description>
<video:content_loc>https://leettube.dev/api/video/maximum-profit-in-job-scheduling/video.mp4</video:content_loc>
<video:duration>101</video:duration>
<video:publication_date>2026-10-07T21:17:38.314Z</video:publication_date>
</video:video>
<lastmod>2026-10-07T21:17:38.314Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://leettube.dev/watch/edit-distance</loc>
<video:video>
<video:title>Edit Distance (LeetCode 72)</video:title>
<video:thumbnail_loc>https://leettube.dev/posters/edit-distance.webp</video:thumbnail_loc>
<video:description>The fewest inserts, deletes and replaces to turn one word into another. Fill a table where each cell takes the cheapest of three neighbours.</video:description>
<video:content_loc>https://leettube.dev/api/video/edit-distance/video.mp4</video:content_loc>
<video:duration>98</video:duration>
<video:publication_date>2026-10-07T21:16:14.327Z</video:publication_date>
</video:video>
<lastmod>2026-10-07T21:16:14.327Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://leettube.dev/watch/regular-expression-matching</loc>
<video:video>
<video:title>Regular Expression Matching (LeetCode 10)</video:title>
<video:thumbnail_loc>https://leettube.dev/posters/regular-expression-matching.webp</video:thumbnail_loc>
<video:description>Match a string against a pattern with . and *. A grid of smaller answers decides each cell: a star can match zero copies or eat one more character.</video:description>
<video:content_loc>https://leettube.dev/api/video/regular-expression-matching/video.mp4</video:content_loc>
<video:duration>100</video:duration>
<video:publication_date>2026-10-07T21:18:51.052Z</video:publication_date>
</video:video>
<lastmod>2026-10-07T21:18:51.052Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://leettube.dev/watch/longest-valid-parentheses</loc>
<video:video>
<video:title>Longest Valid Parentheses (LeetCode 32)</video:title>
<video:thumbnail_loc>https://leettube.dev/posters/longest-valid-parentheses.webp</video:thumbnail_loc>
<video:description>Find the longest well-formed run of brackets. Each ) extends the valid run ending just before its matching (, so one pass of stored lengths works.</video:description>
<video:content_loc>https://leettube.dev/api/video/longest-valid-parentheses/video.mp4</video:content_loc>
<video:duration>95</video:duration>
<video:publication_date>2026-10-07T21:17:30.065Z</video:publication_date>
</video:video>
<lastmod>2026-10-07T21:17:30.065Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://leettube.dev/watch/intro-graphs</loc>
<video:video>
<video:title>Graphs tutorial</video:title>
<video:thumbnail_loc>https://leettube.dev/posters/intro-graphs.webp</video:thumbnail_loc>
<video:description>Nodes and edges: explore outward from a start with a queue (breadth first) or a stack (depth first), stamping each node so you never loop.</video:description>
<video:content_loc>https://leettube.dev/api/video/intro-graphs/video.mp4</video:content_loc>
<video:duration>47</video:duration>
<video:publication_date>2026-10-07T21:16:50.510Z</video:publication_date>
</video:video>
<lastmod>2026-10-07T21:16:50.510Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://leettube.dev/watch/number-of-islands</loc>
<video:video>
<video:title>Number of Islands (LeetCode 200)</video:title>
<video:thumbnail_loc>https://leettube.dev/posters/number-of-islands.webp</video:thumbnail_loc>
<video:description>Count the islands in a grid of land and water. Scan for land, and sink each island you find so it&apos;s only counted once.</video:description>
<video:content_loc>https://leettube.dev/api/video/number-of-islands/video.mp4</video:content_loc>
<video:duration>99</video:duration>
<video:publication_date>2026-10-07T21:18:14.037Z</video:publication_date>
</video:video>
<lastmod>2026-10-07T21:18:14.037Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://leettube.dev/watch/number-of-provinces</loc>
<video:video>
<video:title>Number of Provinces (LeetCode 547)</video:title>
<video:thumbnail_loc>https://leettube.dev/posters/number-of-provinces.webp</video:thumbnail_loc>
<video:description>Count groups of connected cities: pick an unvisited city, flood its whole province with a search, and count how many floods it takes.</video:description>
<video:content_loc>https://leettube.dev/api/video/number-of-provinces/video.mp4</video:content_loc>
<video:duration>94</video:duration>
<video:publication_date>2026-10-07T21:18:15.953Z</video:publication_date>
</video:video>
<lastmod>2026-10-07T21:18:15.953Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://leettube.dev/watch/is-graph-bipartite</loc>
<video:video>
<video:title>Is Graph Bipartite? (LeetCode 785)</video:title>
<video:thumbnail_loc>https://leettube.dev/posters/is-graph-bipartite.webp</video:thumbnail_loc>
<video:description>Can every node get one of two colours so no edge joins a matching pair? Paint each component by BFS and stop at the first clash.</video:description>
<video:content_loc>https://leettube.dev/api/video/is-graph-bipartite/video.mp4</video:content_loc>
<video:duration>98</video:duration>
<video:publication_date>2026-10-07T21:16:57.508Z</video:publication_date>
</video:video>
<lastmod>2026-10-07T21:16:57.508Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://leettube.dev/watch/rotting-oranges</loc>
<video:video>
<video:title>Rotting Oranges (LeetCode 994)</video:title>
<video:thumbnail_loc>https://leettube.dev/posters/rotting-oranges.webp</video:thumbnail_loc>
<video:description>How many minutes until every orange rots? Start a breadth-first search from all the rotten ones at once, one ring per minute.</video:description>
<video:content_loc>https://leettube.dev/api/video/rotting-oranges/video.mp4</video:content_loc>
<video:duration>100</video:duration>
<video:publication_date>2026-10-07T21:19:10.111Z</video:publication_date>
</video:video>
<lastmod>2026-10-07T21:19:10.111Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://leettube.dev/watch/snakes-and-ladders</loc>
<video:video>
<video:title>Snakes and Ladders (LeetCode 909)</video:title>
<video:thumbnail_loc>https://leettube.dev/posters/snakes-and-ladders.webp</video:thumbnail_loc>
<video:description>Fewest dice rolls to reach the last square of a zig-zag board full of snakes and ladders. Treat squares as nodes and rolls as edges, and breadth-first search finds the answer level by level in O(n²).</video:description>
<video:content_loc>https://leettube.dev/api/video/snakes-and-ladders/video.mp4</video:content_loc>
<video:duration>104</video:duration>
<video:publication_date>2026-10-08T00:09:12.683Z</video:publication_date>
</video:video>
<lastmod>2026-10-08T00:09:12.683Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://leettube.dev/watch/shortest-path-in-binary-matrix</loc>
<video:video>
<video:title>Shortest Path in Binary Matrix (LeetCode 1091)</video:title>
<video:thumbnail_loc>https://leettube.dev/posters/shortest-path-in-binary-matrix.webp</video:thumbnail_loc>
<video:description>Cross a grid of open and blocked cells from top-left to bottom-right, moving in eight directions. Breadth-first search spreads out one ring at a time, so the first time it reaches the corner is the shortest path: O(n²).</video:description>
<video:content_loc>https://leettube.dev/api/video/shortest-path-in-binary-matrix/video.mp4</video:content_loc>
<video:duration>103</video:duration>
<video:publication_date>2026-10-08T02:59:19.858Z</video:publication_date>
</video:video>
<lastmod>2026-10-08T02:59:19.858Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://leettube.dev/watch/pacific-atlantic-water-flow</loc>
<video:video>
<video:title>Pacific Atlantic Water Flow (LeetCode 417)</video:title>
<video:thumbnail_loc>https://leettube.dev/posters/pacific-atlantic-water-flow.webp</video:thumbnail_loc>
<video:description>Which cells drain to both oceans? Flip the flow: flood uphill from each coastline, then keep the cells both tides reach.</video:description>
<video:content_loc>https://leettube.dev/api/video/pacific-atlantic-water-flow/video.mp4</video:content_loc>
<video:duration>93</video:duration>
<video:publication_date>2026-10-07T21:18:18.771Z</video:publication_date>
</video:video>
<lastmod>2026-10-07T21:18:18.771Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://leettube.dev/watch/surrounded-regions</loc>
<video:video>
<video:title>Surrounded Regions (LeetCode 130)</video:title>
<video:thumbnail_loc>https://leettube.dev/posters/surrounded-regions.webp</video:thumbnail_loc>
<video:description>Capture every region of O cells walled in by X. Flood fill from the border to mark the O cells that escape; the rest get captured.</video:description>
<video:content_loc>https://leettube.dev/api/video/surrounded-regions/video.mp4</video:content_loc>
<video:duration>96</video:duration>
<video:publication_date>2026-10-07T21:19:39.062Z</video:publication_date>
</video:video>
<lastmod>2026-10-07T21:19:39.062Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://leettube.dev/watch/longest-increasing-path-in-a-matrix</loc>
<video:video>
<video:title>Longest Increasing Path in a Matrix (LeetCode 329)</video:title>
<video:thumbnail_loc>https://leettube.dev/posters/longest-increasing-path-in-a-matrix.webp</video:thumbnail_loc>
<video:description>Find the longest strictly rising path in a grid. Depth-first search from each cell, and remember every answer so no cell is ever solved twice.</video:description>
<video:content_loc>https://leettube.dev/api/video/longest-increasing-path-in-a-matrix/video.mp4</video:content_loc>
<video:duration>106</video:duration>
<video:publication_date>2026-10-07T21:17:25.269Z</video:publication_date>
</video:video>
<lastmod>2026-10-07T21:17:25.269Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://leettube.dev/watch/clone-graph</loc>
<video:video>
<video:title>Clone Graph (LeetCode 133)</video:title>
<video:thumbnail_loc>https://leettube.dev/posters/clone-graph.webp</video:thumbnail_loc>
<video:description>Deep-copy a whole graph from one node. Walk it with depth-first search, and keep a map from each original to its copy so cycles are cloned once.</video:description>
<video:content_loc>https://leettube.dev/api/video/clone-graph/video.mp4</video:content_loc>
<video:duration>94</video:duration>
<video:publication_date>2026-10-07T21:15:30.415Z</video:publication_date>
</video:video>
<lastmod>2026-10-07T21:15:30.415Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://leettube.dev/watch/course-schedule</loc>
<video:video>
<video:title>Course Schedule (LeetCode 207)</video:title>
<video:thumbnail_loc>https://leettube.dev/posters/course-schedule.webp</video:thumbnail_loc>
<video:description>Decide whether you can finish every course given its prerequisites. Take courses with no locks left, and see if every course gets taken.</video:description>
<video:content_loc>https://leettube.dev/api/video/course-schedule/video.mp4</video:content_loc>
<video:duration>104</video:duration>
<video:publication_date>2026-10-07T21:15:52.213Z</video:publication_date>
</video:video>
<lastmod>2026-10-07T21:15:52.213Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://leettube.dev/watch/course-schedule-ii</loc>
<video:video>
<video:title>Course Schedule II (LeetCode 210)</video:title>
<video:thumbnail_loc>https://leettube.dev/posters/course-schedule-ii.webp</video:thumbnail_loc>
<video:description>Return a valid order to take every course. Count each course&apos;s prerequisites, start with the ones at zero, and unlock the rest as you go.</video:description>
<video:content_loc>https://leettube.dev/api/video/course-schedule-ii/video.mp4</video:content_loc>
<video:duration>102</video:duration>
<video:publication_date>2026-10-07T21:15:48.988Z</video:publication_date>
</video:video>
<lastmod>2026-10-07T21:15:48.988Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://leettube.dev/watch/network-delay-time</loc>
<video:video>
<video:title>Network Delay Time (LeetCode 743)</video:title>
<video:thumbnail_loc>https://leettube.dev/posters/network-delay-time.webp</video:thumbnail_loc>
<video:description>How long until a signal reaches every tower? Dijkstra&apos;s algorithm settles the earliest arrival first, using a min-heap.</video:description>
<video:content_loc>https://leettube.dev/api/video/network-delay-time/video.mp4</video:content_loc>
<video:duration>96</video:duration>
<video:publication_date>2026-10-07T21:18:08.326Z</video:publication_date>
</video:video>
<lastmod>2026-10-07T21:18:08.326Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://leettube.dev/watch/path-with-minimum-effort</loc>
<video:video>
<video:title>Path With Minimum Effort (LeetCode 1631)</video:title>
<video:thumbnail_loc>https://leettube.dev/posters/path-with-minimum-effort.webp</video:thumbnail_loc>
<video:description>Cross the height map with the gentlest worst climb: Dijkstra where a path&apos;s cost is its biggest single step, not the total.</video:description>
<video:content_loc>https://leettube.dev/api/video/path-with-minimum-effort/video.mp4</video:content_loc>
<video:duration>103</video:duration>
<video:publication_date>2026-10-07T21:18:32.274Z</video:publication_date>
</video:video>
<lastmod>2026-10-07T21:18:32.274Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://leettube.dev/watch/cheapest-flights-within-k-stops</loc>
<video:video>
<video:title>Cheapest Flights Within K Stops (LeetCode 787)</video:title>
<video:thumbnail_loc>https://leettube.dev/posters/cheapest-flights-within-k-stops.webp</video:thumbnail_loc>
<video:description>Find the cheapest fare with at most k stops. Relax every flight once per allowed hop, Bellman-Ford style, keeping last round&apos;s prices.</video:description>
<video:content_loc>https://leettube.dev/api/video/cheapest-flights-within-k-stops/video.mp4</video:content_loc>
<video:duration>106</video:duration>
<video:publication_date>2026-10-07T21:15:26.593Z</video:publication_date>
</video:video>
<lastmod>2026-10-07T21:15:26.593Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://leettube.dev/watch/swim-in-rising-water</loc>
<video:video>
<video:title>Swim in Rising Water (LeetCode 778)</video:title>
<video:thumbnail_loc>https://leettube.dev/posters/swim-in-rising-water.webp</video:thumbnail_loc>
<video:description>Water rises one unit a minute; when can you swim from corner to corner? Dijkstra with a min-heap keyed on the tallest cell along the path.</video:description>
<video:content_loc>https://leettube.dev/api/video/swim-in-rising-water/video.mp4</video:content_loc>
<video:duration>92</video:duration>
<video:publication_date>2026-10-07T21:19:41.155Z</video:publication_date>
</video:video>
<lastmod>2026-10-07T21:19:41.155Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://leettube.dev/watch/reconstruct-itinerary</loc>
<video:video>
<video:title>Reconstruct Itinerary (LeetCode 332)</video:title>
<video:thumbnail_loc>https://leettube.dev/posters/reconstruct-itinerary.webp</video:thumbnail_loc>
<video:description>Use every plane ticket once, starting at JFK, in alphabetical order. Depth-first search, then add each airport once its tickets run out.</video:description>
<video:content_loc>https://leettube.dev/api/video/reconstruct-itinerary/video.mp4</video:content_loc>
<video:duration>108</video:duration>
<video:publication_date>2026-10-07T21:18:47.610Z</video:publication_date>
</video:video>
<lastmod>2026-10-07T21:18:47.610Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://leettube.dev/watch/redundant-connection</loc>
<video:video>
<video:title>Redundant Connection (LeetCode 684)</video:title>
<video:thumbnail_loc>https://leettube.dev/posters/redundant-connection.webp</video:thumbnail_loc>
<video:description>A tree got one extra edge that closes a loop. Join nodes with union-find; the first edge whose ends already share a root is the extra one.</video:description>
<video:content_loc>https://leettube.dev/api/video/redundant-connection/video.mp4</video:content_loc>
<video:duration>100</video:duration>
<video:publication_date>2026-10-07T21:18:49.109Z</video:publication_date>
</video:video>
<lastmod>2026-10-07T21:18:49.109Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://leettube.dev/watch/critical-connections-in-a-network</loc>
<video:video>
<video:title>Critical Connections in a Network (LeetCode 1192)</video:title>
<video:thumbnail_loc>https://leettube.dev/posters/critical-connections-in-a-network.webp</video:thumbnail_loc>
<video:description>Find every link whose loss splits a network: one DFS stamps discovery times, carries low links up, and cuts where a child can&apos;t reach back.</video:description>
<video:content_loc>https://leettube.dev/api/video/critical-connections-in-a-network/video.mp4</video:content_loc>
<video:duration>94</video:duration>
<video:publication_date>2026-10-07T21:15:54.305Z</video:publication_date>
</video:video>
<lastmod>2026-10-07T21:15:54.305Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://leettube.dev/watch/min-cost-to-connect-all-points</loc>
<video:video>
<video:title>Min Cost to Connect All Points (LeetCode 1584)</video:title>
<video:thumbnail_loc>https://leettube.dev/posters/min-cost-to-connect-all-points.webp</video:thumbnail_loc>
<video:description>Join every point with the least total Manhattan distance. Grow a minimum spanning tree with Prim&apos;s algorithm, cheapest link first.</video:description>
<video:content_loc>https://leettube.dev/api/video/min-cost-to-connect-all-points/video.mp4</video:content_loc>
<video:duration>95</video:duration>
<video:publication_date>2026-10-07T21:17:51.342Z</video:publication_date>
</video:video>
<lastmod>2026-10-07T21:17:51.342Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://leettube.dev/watch/word-ladder</loc>
<video:video>
<video:title>Word Ladder (LeetCode 127)</video:title>
<video:thumbnail_loc>https://leettube.dev/posters/word-ladder.webp</video:thumbnail_loc>
<video:description>Change one letter at a time to reach the end word. Treat words as a graph and search breadth first, so the first hit is the shortest.</video:description>
<video:content_loc>https://leettube.dev/api/video/word-ladder/video.mp4</video:content_loc>
<video:duration>109</video:duration>
<video:publication_date>2026-10-07T21:20:06.219Z</video:publication_date>
</video:video>
<lastmod>2026-10-07T21:20:06.219Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://leettube.dev/watch/intro-greedy</loc>
<video:video>
<video:title>Greedy tutorial</video:title>
<video:thumbnail_loc>https://leettube.dev/posters/intro-greedy.webp</video:thumbnail_loc>
<video:description>Take what looks best right now and never go back. It works only when today&apos;s best pick can&apos;t hurt you later, so learn to spot when it&apos;s safe.</video:description>
<video:content_loc>https://leettube.dev/api/video/intro-greedy/video.mp4</video:content_loc>
<video:duration>46</video:duration>
<video:publication_date>2026-10-07T21:16:51.763Z</video:publication_date>
</video:video>
<lastmod>2026-10-07T21:16:51.763Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://leettube.dev/watch/can-place-flowers</loc>
<video:video>
<video:title>Can Place Flowers (LeetCode 605)</video:title>
<video:thumbnail_loc>https://leettube.dev/posters/can-place-flowers.webp</video:thumbnail_loc>
<video:description>Plant a flower wherever both neighbours are empty, scanning left to right. Planting early never hurts, so stop as soon as n fit.</video:description>
<video:content_loc>https://leettube.dev/api/video/can-place-flowers/video.mp4</video:content_loc>
<video:duration>95</video:duration>
<video:publication_date>2026-10-07T21:15:21.353Z</video:publication_date>
</video:video>
<lastmod>2026-10-07T21:15:21.353Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://leettube.dev/watch/assign-cookies</loc>
<video:video>
<video:title>Assign Cookies (LeetCode 455)</video:title>
<video:thumbnail_loc>https://leettube.dev/posters/assign-cookies.webp</video:thumbnail_loc>
<video:description>Each child wants a cookie at least as big as their greed. Sort both lists and walk the cookies smallest first, handing each to the least greedy child it can satisfy, so no big cookie is wasted, in O(n log n + m log m).</video:description>
<video:content_loc>https://leettube.dev/api/video/assign-cookies/video.mp4</video:content_loc>
<video:duration>103</video:duration>
<video:publication_date>2026-10-08T00:21:47.083Z</video:publication_date>
</video:video>
<lastmod>2026-10-08T00:21:47.083Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://leettube.dev/watch/jump-game</loc>
<video:video>
<video:title>Jump Game (LeetCode 55)</video:title>
<video:thumbnail_loc>https://leettube.dev/posters/jump-game.webp</video:thumbnail_loc>
<video:description>Can you hop from the first index to the last? Walk once, keeping the farthest spot you can reach; if you ever stand past it, you&apos;re stuck.</video:description>
<video:content_loc>https://leettube.dev/api/video/jump-game/video.mp4</video:content_loc>
<video:duration>95</video:duration>
<video:publication_date>2026-10-07T21:17:02.703Z</video:publication_date>
</video:video>
<lastmod>2026-10-07T21:17:02.703Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://leettube.dev/watch/jump-game-ii</loc>
<video:video>
<video:title>Jump Game II (LeetCode 45)</video:title>
<video:thumbnail_loc>https://leettube.dev/posters/jump-game-ii.webp</video:thumbnail_loc>
<video:description>Now count the fewest hops to the end. Treat each jump as a window of reachable spots, and only jump when you walk off its edge.</video:description>
<video:content_loc>https://leettube.dev/api/video/jump-game-ii/video.mp4</video:content_loc>
<video:duration>97</video:duration>
<video:publication_date>2026-10-07T21:17:00.792Z</video:publication_date>
</video:video>
<lastmod>2026-10-07T21:17:00.792Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://leettube.dev/watch/gas-station</loc>
<video:video>
<video:title>Gas Station (LeetCode 134)</video:title>
<video:thumbnail_loc>https://leettube.dev/posters/gas-station.webp</video:thumbnail_loc>
<video:description>Find the station where you can drive the whole loop. If the total gas covers the total cost, an answer exists; whenever the tank goes negative, start again from the next station.</video:description>
<video:content_loc>https://leettube.dev/api/video/gas-station/video.mp4</video:content_loc>
<video:duration>104</video:duration>
<video:publication_date>2026-10-07T21:16:24.388Z</video:publication_date>
</video:video>
<lastmod>2026-10-07T21:16:24.388Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://leettube.dev/watch/minimum-domino-rotations-for-equal-row</loc>
<video:video>
<video:title>Minimum Domino Rotations For Equal Row (LeetCode 1007)</video:title>
<video:thumbnail_loc>https://leettube.dev/posters/minimum-domino-rotations-for-equal-row.webp</video:thumbnail_loc>
<video:description>Fewest flips to make a domino row match: only the first domino&apos;s two values can work, so try each and keep the cheaper side.</video:description>
<video:content_loc>https://leettube.dev/api/video/minimum-domino-rotations-for-equal-row/video.mp4</video:content_loc>
<video:duration>98</video:duration>
<video:publication_date>2026-10-07T21:17:54.869Z</video:publication_date>
</video:video>
<lastmod>2026-10-07T21:17:54.869Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://leettube.dev/watch/course-schedule-iii</loc>
<video:video>
<video:title>Course Schedule III (LeetCode 630)</video:title>
<video:thumbnail_loc>https://leettube.dev/posters/course-schedule-iii.webp</video:thumbnail_loc>
<video:description>Take the most courses before their deadlines: sort by deadline, keep a max-heap of durations, and drop the longest when time runs over.</video:description>
<video:content_loc>https://leettube.dev/api/video/course-schedule-iii/video.mp4</video:content_loc>
<video:duration>93</video:duration>
<video:publication_date>2026-10-07T21:15:50.869Z</video:publication_date>
</video:video>
<lastmod>2026-10-07T21:15:50.869Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://leettube.dev/watch/car-pooling</loc>
<video:video>
<video:title>Car Pooling (LeetCode 1094)</video:title>
<video:thumbnail_loc>https://leettube.dev/posters/car-pooling.webp</video:thumbnail_loc>
<video:description>Can one car carry every trip without going over capacity? Mark pickups and drop-offs on a difference array, then sweep the running total.</video:description>
<video:content_loc>https://leettube.dev/api/video/car-pooling/video.mp4</video:content_loc>
<video:duration>99</video:duration>
<video:publication_date>2026-10-07T21:15:24.994Z</video:publication_date>
</video:video>
<lastmod>2026-10-07T21:15:24.994Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://leettube.dev/watch/candy</loc>
<video:video>
<video:title>Candy (LeetCode 135)</video:title>
<video:thumbnail_loc>https://leettube.dev/posters/candy.webp</video:thumbnail_loc>
<video:description>Hand out the fewest candies so higher-rated kids beat their neighbours. Sweep left to right, then right to left, keeping the larger count.</video:description>
<video:content_loc>https://leettube.dev/api/video/candy/video.mp4</video:content_loc>
<video:duration>101</video:duration>
<video:publication_date>2026-10-07T21:15:23.280Z</video:publication_date>
</video:video>
<lastmod>2026-10-07T21:15:23.280Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://leettube.dev/watch/non-overlapping-intervals</loc>
<video:video>
<video:title>Non-overlapping Intervals (LeetCode 435)</video:title>
<video:thumbnail_loc>https://leettube.dev/posters/non-overlapping-intervals.webp</video:thumbnail_loc>
<video:description>Remove the fewest intervals so the rest don&apos;t overlap. Sort by end time and keep whatever finishes first; every clash after that gets cut.</video:description>
<video:content_loc>https://leettube.dev/api/video/non-overlapping-intervals/video.mp4</video:content_loc>
<video:duration>98</video:duration>
<video:publication_date>2026-10-07T21:18:09.942Z</video:publication_date>
</video:video>
<lastmod>2026-10-07T21:18:09.942Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://leettube.dev/watch/insert-interval</loc>
<video:video>
<video:title>Insert Interval (LeetCode 57)</video:title>
<video:thumbnail_loc>https://leettube.dev/posters/insert-interval.webp</video:thumbnail_loc>
<video:description>Slot a new interval into a sorted, non-overlapping list. One pass in three phases: copy everything that ends before it, absorb everything that overlaps into one wider interval, then copy the rest. No sort needed: O(n).</video:description>
<video:content_loc>https://leettube.dev/api/video/insert-interval/video.mp4</video:content_loc>
<video:duration>100</video:duration>
<video:publication_date>2026-10-08T02:46:12.443Z</video:publication_date>
</video:video>
<lastmod>2026-10-08T02:46:12.443Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://leettube.dev/watch/minimum-number-of-arrows-to-burst-balloons</loc>
<video:video>
<video:title>Minimum Number of Arrows to Burst Balloons (LeetCode 452)</video:title>
<video:thumbnail_loc>https://leettube.dev/posters/minimum-number-of-arrows-to-burst-balloons.webp</video:thumbnail_loc>
<video:description>Sort balloons by where they end and shoot each arrow at the earliest end. It pops every balloon still overlapping it, so you need the fewest.</video:description>
<video:content_loc>https://leettube.dev/api/video/minimum-number-of-arrows-to-burst-balloons/video.mp4</video:content_loc>
<video:duration>97</video:duration>
<video:publication_date>2026-10-07T21:17:56.463Z</video:publication_date>
</video:video>
<lastmod>2026-10-07T21:17:56.463Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://leettube.dev/watch/partition-labels</loc>
<video:video>
<video:title>Partition Labels (LeetCode 763)</video:title>
<video:thumbnail_loc>https://leettube.dev/posters/partition-labels.webp</video:thumbnail_loc>
<video:description>Cut a string into as many pieces as possible with no letter in two pieces. Track where each letter last appears, and cut when you reach it.</video:description>
<video:content_loc>https://leettube.dev/api/video/partition-labels/video.mp4</video:content_loc>
<video:duration>92</video:duration>
<video:publication_date>2026-10-07T21:18:28.857Z</video:publication_date>
</video:video>
<lastmod>2026-10-07T21:18:28.857Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://leettube.dev/watch/boats-to-save-people</loc>
<video:video>
<video:title>Boats to Save People (LeetCode 881)</video:title>
<video:thumbnail_loc>https://leettube.dev/posters/boats-to-save-people.webp</video:thumbnail_loc>
<video:description>Each boat holds two people under a weight limit. Sort, then pair the heaviest with the lightest when they fit; otherwise the heaviest rides alone.</video:description>
<video:content_loc>https://leettube.dev/api/video/boats-to-save-people/video.mp4</video:content_loc>
<video:duration>103</video:duration>
<video:publication_date>2026-10-07T21:15:19.396Z</video:publication_date>
</video:video>
<lastmod>2026-10-07T21:15:19.396Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://leettube.dev/watch/remove-k-digits</loc>
<video:video>
<video:title>Remove K Digits (LeetCode 402)</video:title>
<video:thumbnail_loc>https://leettube.dev/posters/remove-k-digits.webp</video:thumbnail_loc>
<video:description>Delete k digits to make the smallest number. Keep a rising stack and pop any bigger digit before a smaller one while deletions remain.</video:description>
<video:content_loc>https://leettube.dev/api/video/remove-k-digits/video.mp4</video:content_loc>
<video:duration>101</video:duration>
<video:publication_date>2026-10-07T21:18:54.630Z</video:publication_date>
</video:video>
<lastmod>2026-10-07T21:18:54.630Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://leettube.dev/watch/two-city-scheduling</loc>
<video:video>
<video:title>Two City Scheduling (LeetCode 1029)</video:title>
<video:thumbnail_loc>https://leettube.dev/posters/two-city-scheduling.webp</video:thumbnail_loc>
<video:description>Send 2n people to two cities at least cost: book everyone to B, sort by A minus B, and switch the cheapest half to A.</video:description>
<video:content_loc>https://leettube.dev/api/video/two-city-scheduling/video.mp4</video:content_loc>
<video:duration>96</video:duration>
<video:publication_date>2026-10-07T21:19:50.297Z</video:publication_date>
</video:video>
<lastmod>2026-10-07T21:19:50.297Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://leettube.dev/watch/valid-parenthesis-string</loc>
<video:video>
<video:title>Valid Parenthesis String (LeetCode 678)</video:title>
<video:thumbnail_loc>https://leettube.dev/posters/valid-parenthesis-string.webp</video:thumbnail_loc>
<video:description>Check brackets where each star can be open, close or nothing. Track the lowest and highest possible open count instead of choosing.</video:description>
<video:content_loc>https://leettube.dev/api/video/valid-parenthesis-string/video.mp4</video:content_loc>
<video:duration>103</video:duration>
<video:publication_date>2026-10-07T21:20:00.873Z</video:publication_date>
</video:video>
<lastmod>2026-10-07T21:20:00.873Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://leettube.dev/watch/maximum-subarray</loc>
<video:video>
<video:title>Maximum Subarray (LeetCode 53)</video:title>
<video:thumbnail_loc>https://leettube.dev/posters/maximum-subarray.webp</video:thumbnail_loc>
<video:description>Find the stretch of numbers with the biggest sum in one pass: carry a running total, and drop it the moment it goes negative.</video:description>
<video:content_loc>https://leettube.dev/api/video/maximum-subarray/video.mp4</video:content_loc>
<video:duration>105</video:duration>
<video:publication_date>2026-10-07T21:17:39.674Z</video:publication_date>
</video:video>
<lastmod>2026-10-07T21:17:39.674Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://leettube.dev/watch/hand-of-straights</loc>
<video:video>
<video:title>Hand of Straights (LeetCode 846)</video:title>
<video:thumbnail_loc>https://leettube.dev/posters/hand-of-straights.webp</video:thumbnail_loc>
<video:description>Split a hand of cards into runs of consecutive values. Always start a run at the smallest card left, since nothing else can come before it.</video:description>
<video:content_loc>https://leettube.dev/api/video/hand-of-straights/video.mp4</video:content_loc>
<video:duration>104</video:duration>
<video:publication_date>2026-10-07T21:16:30.299Z</video:publication_date>
</video:video>
<lastmod>2026-10-07T21:16:30.299Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://leettube.dev/watch/task-scheduler</loc>
<video:video>
<video:title>Task Scheduler (LeetCode 621)</video:title>
<video:thumbnail_loc>https://leettube.dev/posters/task-scheduler.webp</video:thumbnail_loc>
<video:description>Find the fewest slots to run every task with n idle gaps between repeats. The most frequent task sets a frame; the rest fill its gaps.</video:description>
<video:content_loc>https://leettube.dev/api/video/task-scheduler/video.mp4</video:content_loc>
<video:duration>104</video:duration>
<video:publication_date>2026-10-07T21:19:44.180Z</video:publication_date>
</video:video>
<lastmod>2026-10-07T21:19:44.180Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://leettube.dev/watch/merge-triplets-to-form-target-triplet</loc>
<video:video>
<video:title>Merge Triplets to Form Target Triplet (LeetCode 1899)</video:title>
<video:thumbnail_loc>https://leettube.dev/posters/merge-triplets-to-form-target-triplet.webp</video:thumbnail_loc>
<video:description>Can some triplets merge, by taking maxes, into a target? Skip any triplet that overshoots, then check the safe ones still reach every value.</video:description>
<video:content_loc>https://leettube.dev/api/video/merge-triplets-to-form-target-triplet/video.mp4</video:content_loc>
<video:duration>96</video:duration>
<video:publication_date>2026-10-07T21:17:48.077Z</video:publication_date>
</video:video>
<lastmod>2026-10-07T21:17:48.077Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://leettube.dev/watch/intro-bits-and-math</loc>
<video:video>
<video:title>Bits and math tutorial</video:title>
<video:thumbnail_loc>https://leettube.dev/posters/intro-bits-and-math.webp</video:thumbnail_loc>
<video:description>Every number is a row of lamps, on or off. AND, OR and XOR work on every lamp at once, and x XOR x is zero, so pairs cancel.</video:description>
<video:content_loc>https://leettube.dev/api/video/intro-bits-and-math/video.mp4</video:content_loc>
<video:duration>46</video:duration>
<video:publication_date>2026-10-07T21:16:46.071Z</video:publication_date>
</video:video>
<lastmod>2026-10-07T21:16:46.071Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://leettube.dev/watch/single-number</loc>
<video:video>
<video:title>Single Number (LeetCode 136)</video:title>
<video:thumbnail_loc>https://leettube.dev/posters/single-number.webp</video:thumbnail_loc>
<video:description>Every number appears twice except one. XOR them all together: pairs cancel to zero, and the loner is all that&apos;s left.</video:description>
<video:content_loc>https://leettube.dev/api/video/single-number/video.mp4</video:content_loc>
<video:duration>98</video:duration>
<video:publication_date>2026-10-07T21:19:20.557Z</video:publication_date>
</video:video>
<lastmod>2026-10-07T21:19:20.557Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://leettube.dev/watch/single-number-ii</loc>
<video:video>
<video:title>Single Number II (LeetCode 137)</video:title>
<video:thumbnail_loc>https://leettube.dev/posters/single-number-ii.webp</video:thumbnail_loc>
<video:description>Every number appears three times except one. Count each of the 32 bits across the array; a count that isn&apos;t a multiple of 3 belongs to it.</video:description>
<video:content_loc>https://leettube.dev/api/video/single-number-ii/video.mp4</video:content_loc>
<video:duration>99</video:duration>
<video:publication_date>2026-10-07T21:19:17.799Z</video:publication_date>
</video:video>
<lastmod>2026-10-07T21:19:17.799Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://leettube.dev/watch/single-number-iii</loc>
<video:video>
<video:title>Single Number III (LeetCode 260)</video:title>
<video:thumbnail_loc>https://leettube.dev/posters/single-number-iii.webp</video:thumbnail_loc>
<video:description>Every number appears twice except two. XOR everything to get a XOR b, take its lowest set bit to split the numbers into two lanes, and XOR each lane to find the two loners, in O(n) time and O(1) space.</video:description>
<video:content_loc>https://leettube.dev/api/video/single-number-iii/video.mp4</video:content_loc>
<video:duration>108</video:duration>
<video:publication_date>2026-10-08T00:31:02.988Z</video:publication_date>
</video:video>
<lastmod>2026-10-08T00:31:02.988Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://leettube.dev/watch/number-of-1-bits</loc>
<video:video>
<video:title>Number of 1 Bits (LeetCode 191)</video:title>
<video:thumbnail_loc>https://leettube.dev/posters/number-of-1-bits.webp</video:thumbnail_loc>
<video:description>Count the ones in a number&apos;s binary form. n &amp; (n - 1) clears the lowest one bit, so count how many times you can do it before reaching zero.</video:description>
<video:content_loc>https://leettube.dev/api/video/number-of-1-bits/video.mp4</video:content_loc>
<video:duration>102</video:duration>
<video:publication_date>2026-10-07T21:18:12.187Z</video:publication_date>
</video:video>
<lastmod>2026-10-07T21:18:12.187Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://leettube.dev/watch/hamming-distance</loc>
<video:video>
<video:title>Hamming Distance (LeetCode 461)</video:title>
<video:thumbnail_loc>https://leettube.dev/posters/hamming-distance.webp</video:thumbnail_loc>
<video:description>Count the bit positions where two numbers differ: XOR marks every difference, then clear the lowest set bit until none are left.</video:description>
<video:content_loc>https://leettube.dev/api/video/hamming-distance/video.mp4</video:content_loc>
<video:duration>101</video:duration>
<video:publication_date>2026-10-07T21:16:28.955Z</video:publication_date>
</video:video>
<lastmod>2026-10-07T21:16:28.955Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://leettube.dev/watch/counting-bits</loc>
<video:video>
<video:title>Counting Bits (LeetCode 338)</video:title>
<video:thumbnail_loc>https://leettube.dev/posters/counting-bits.webp</video:thumbnail_loc>
<video:description>Count the ones in every number from 0 to n. Each answer is the count for i shifted right one bit, plus its last bit.</video:description>
<video:content_loc>https://leettube.dev/api/video/counting-bits/video.mp4</video:content_loc>
<video:duration>97</video:duration>
<video:publication_date>2026-10-07T21:15:46.966Z</video:publication_date>
</video:video>
<lastmod>2026-10-07T21:15:46.966Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://leettube.dev/watch/gray-code</loc>
<video:video>
<video:title>Gray Code (LeetCode 89)</video:title>
<video:thumbnail_loc>https://leettube.dev/posters/gray-code.webp</video:thumbnail_loc>
<video:description>List every n-bit number so each differs from the next by exactly one bit. Start with 0, then for each new bit mirror the list and switch that bit on in the mirrored half; the seam changes only the new bit. Same as i XOR (i &gt;&gt; 1).</video:description>
<video:content_loc>https://leettube.dev/api/video/gray-code/video.mp4</video:content_loc>
<video:duration>96</video:duration>
<video:publication_date>2026-10-08T02:54:12.765Z</video:publication_date>
</video:video>
<lastmod>2026-10-08T02:54:12.765Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://leettube.dev/watch/rotate-image</loc>
<video:video>
<video:title>Rotate Image (LeetCode 48)</video:title>
<video:thumbnail_loc>https://leettube.dev/posters/rotate-image.webp</video:thumbnail_loc>
<video:description>Spin a square grid a quarter turn without a second grid: flip it across the diagonal, then mirror each row.</video:description>
<video:content_loc>https://leettube.dev/api/video/rotate-image/video.mp4</video:content_loc>
<video:duration>97</video:duration>
<video:publication_date>2026-10-07T21:19:08.613Z</video:publication_date>
</video:video>
<lastmod>2026-10-07T21:19:08.613Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://leettube.dev/watch/spiral-matrix</loc>
<video:video>
<video:title>Spiral Matrix (LeetCode 54)</video:title>
<video:thumbnail_loc>https://leettube.dev/posters/spiral-matrix.webp</video:thumbnail_loc>
<video:description>Read a grid in spiral order by walking four walls: across the top, down the right, back along the bottom, up the left, then shrink inward.</video:description>
<video:content_loc>https://leettube.dev/api/video/spiral-matrix/video.mp4</video:content_loc>
<video:duration>100</video:duration>
<video:publication_date>2026-10-07T21:19:27.055Z</video:publication_date>
</video:video>
<lastmod>2026-10-07T21:19:27.055Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://leettube.dev/watch/missing-number</loc>
<video:video>
<video:title>Missing Number (LeetCode 268)</video:title>
<video:thumbnail_loc>https://leettube.dev/posters/missing-number.webp</video:thumbnail_loc>
<video:description>One number from 0 to n is gone. Add up what 0 to n should total, subtract what you have, and the gap is the answer.</video:description>
<video:content_loc>https://leettube.dev/api/video/missing-number/video.mp4</video:content_loc>
<video:duration>103</video:duration>
<video:publication_date>2026-10-07T21:17:59.858Z</video:publication_date>
</video:video>
<lastmod>2026-10-07T21:17:59.858Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://leettube.dev/watch/pow-x-n</loc>
<video:video>
<video:title>Pow(x, n) (LeetCode 50)</video:title>
<video:thumbnail_loc>https://leettube.dev/posters/pow-x-n.webp</video:thumbnail_loc>
<video:description>Raise x to the power n in about log n steps: square the base and halve the exponent, setting aside one copy whenever it&apos;s odd.</video:description>
<video:content_loc>https://leettube.dev/api/video/pow-x-n/video.mp4</video:content_loc>
<video:duration>100</video:duration>
<video:publication_date>2026-10-07T21:18:41.471Z</video:publication_date>
</video:video>
<lastmod>2026-10-07T21:18:41.471Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://leettube.dev/watch/sqrtx</loc>
<video:video>
<video:title>Sqrt(x) (LeetCode 69)</video:title>
<video:thumbnail_loc>https://leettube.dev/posters/sqrtx.webp</video:thumbnail_loc>
<video:description>Integer square root with no built-ins: binary search the answer, square the middle, and keep the largest value whose square still fits.</video:description>
<video:content_loc>https://leettube.dev/api/video/sqrtx/video.mp4</video:content_loc>
<video:duration>103</video:duration>
<video:publication_date>2026-10-07T21:19:28.378Z</video:publication_date>
</video:video>
<lastmod>2026-10-07T21:19:28.378Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://leettube.dev/watch/reverse-bits</loc>
<video:video>
<video:title>Reverse Bits (LeetCode 190)</video:title>
<video:thumbnail_loc>https://leettube.dev/posters/reverse-bits.webp</video:thumbnail_loc>
<video:description>Flip the order of the 32 bits in a number. Peel the last bit off the input and push it onto the result, 32 times, with shifts.</video:description>
<video:content_loc>https://leettube.dev/api/video/reverse-bits/video.mp4</video:content_loc>
<video:duration>96</video:duration>
<video:publication_date>2026-10-07T21:19:01.331Z</video:publication_date>
</video:video>
<lastmod>2026-10-07T21:19:01.331Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://leettube.dev/watch/sum-of-two-integers</loc>
<video:video>
<video:title>Sum of Two Integers (LeetCode 371)</video:title>
<video:thumbnail_loc>https://leettube.dev/posters/sum-of-two-integers.webp</video:thumbnail_loc>
<video:description>Add two numbers without plus or minus. XOR adds each column, AND shifted left is the carry, and you repeat until the carry is zero.</video:description>
<video:content_loc>https://leettube.dev/api/video/sum-of-two-integers/video.mp4</video:content_loc>
<video:duration>105</video:duration>
<video:publication_date>2026-10-07T21:19:37.608Z</video:publication_date>
</video:video>
<lastmod>2026-10-07T21:19:37.608Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://leettube.dev/watch/reverse-integer</loc>
<video:video>
<video:title>Reverse Integer (LeetCode 7)</video:title>
<video:thumbnail_loc>https://leettube.dev/posters/reverse-integer.webp</video:thumbnail_loc>
<video:description>Reverse the digits of a 32-bit integer. Pop the last digit, push it onto the result, and check for overflow before each push.</video:description>
<video:content_loc>https://leettube.dev/api/video/reverse-integer/video.mp4</video:content_loc>
<video:duration>107</video:duration>
<video:publication_date>2026-10-07T21:19:02.663Z</video:publication_date>
</video:video>
<lastmod>2026-10-07T21:19:02.663Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://leettube.dev/watch/palindrome-number</loc>
<video:video>
<video:title>Palindrome Number (LeetCode 9)</video:title>
<video:thumbnail_loc>https://leettube.dev/posters/palindrome-number.webp</video:thumbnail_loc>
<video:description>Is an integer a palindrome without turning it into a string? Peel digits off the end to rebuild the back half, and stop once it meets the front.</video:description>
<video:content_loc>https://leettube.dev/api/video/palindrome-number/video.mp4</video:content_loc>
<video:duration>102</video:duration>
<video:publication_date>2026-10-07T21:18:22.503Z</video:publication_date>
</video:video>
<lastmod>2026-10-07T21:18:22.503Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://leettube.dev/watch/happy-number</loc>
<video:video>
<video:title>Happy Number (LeetCode 202)</video:title>
<video:thumbnail_loc>https://leettube.dev/posters/happy-number.webp</video:thumbnail_loc>
<video:description>Keep replacing a number with the sum of its digits squared. Either it reaches one or loops, and slow and fast pointers spot the loop.</video:description>
<video:content_loc>https://leettube.dev/api/video/happy-number/video.mp4</video:content_loc>
<video:duration>107</video:duration>
<video:publication_date>2026-10-07T21:16:32.274Z</video:publication_date>
</video:video>
<lastmod>2026-10-07T21:16:32.274Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://leettube.dev/watch/plus-one</loc>
<video:video>
<video:title>Plus One (LeetCode 66)</video:title>
<video:thumbnail_loc>https://leettube.dev/posters/plus-one.webp</video:thumbnail_loc>
<video:description>Add one to a number stored as an array of digits. Start from the right, turn each 9 into 0 and carry, and grow the array if needed.</video:description>
<video:content_loc>https://leettube.dev/api/video/plus-one/video.mp4</video:content_loc>
<video:duration>96</video:duration>
<video:publication_date>2026-10-07T21:18:40.092Z</video:publication_date>
</video:video>
<lastmod>2026-10-07T21:18:40.092Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://leettube.dev/watch/multiply-strings</loc>
<video:video>
<video:title>Multiply Strings (LeetCode 43)</video:title>
<video:thumbnail_loc>https://leettube.dev/posters/multiply-strings.webp</video:thumbnail_loc>
<video:description>Multiply two huge numbers stored as strings, like on paper: each digit pair lands at position i + j + 1, then carry the overflow leftward.</video:description>
<video:content_loc>https://leettube.dev/api/video/multiply-strings/video.mp4</video:content_loc>
<video:duration>108</video:duration>
<video:publication_date>2026-10-07T21:18:02.444Z</video:publication_date>
</video:video>
<lastmod>2026-10-07T21:18:02.444Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://leettube.dev/watch/bitwise-and-of-numbers-range</loc>
<video:video>
<video:title>Bitwise AND of Numbers Range (LeetCode 201)</video:title>
<video:thumbnail_loc>https://leettube.dev/posters/bitwise-and-of-numbers-range.webp</video:thumbnail_loc>
<video:description>AND together every number from left to right. Only the shared leading bits survive, so shift both ends right until they match.</video:description>
<video:content_loc>https://leettube.dev/api/video/bitwise-and-of-numbers-range/video.mp4</video:content_loc>
<video:duration>99</video:duration>
<video:publication_date>2026-10-07T21:15:17.824Z</video:publication_date>
</video:video>
<lastmod>2026-10-07T21:15:17.824Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://leettube.dev/watch/intro-design</loc>
<video:video>
<video:title>Design tutorial</video:title>
<video:thumbnail_loc>https://leettube.dev/posters/intro-design.webp</video:thumbnail_loc>
<video:description>Design problems hand you a blueprint with promised costs. Keep a little extra next to the data, like a map or a second value, so every method runs in constant time.</video:description>
<video:content_loc>https://leettube.dev/api/video/intro-design/video.mp4</video:content_loc>
<video:duration>44</video:duration>
<video:publication_date>2026-10-07T21:16:47.265Z</video:publication_date>
</video:video>
<lastmod>2026-10-07T21:16:47.265Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://leettube.dev/watch/design-hashset</loc>
<video:video>
<video:title>Design HashSet (LeetCode 705)</video:title>
<video:thumbnail_loc>https://leettube.dev/posters/design-hashset.webp</video:thumbnail_loc>
<video:description>Build a set with no built-in hash table: hash each key into one of 769 buckets, and keep a short list in each bucket for collisions.</video:description>
<video:content_loc>https://leettube.dev/api/video/design-hashset/video.mp4</video:content_loc>
<video:duration>100</video:duration>
<video:publication_date>2026-10-07T21:16:05.264Z</video:publication_date>
</video:video>
<lastmod>2026-10-07T21:16:05.264Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://leettube.dev/watch/design-hashmap</loc>
<video:video>
<video:title>Design HashMap (LeetCode 706)</video:title>
<video:thumbnail_loc>https://leettube.dev/posters/design-hashmap.webp</video:thumbnail_loc>
<video:description>Build a hash map with no built-in one: hash each key to a bucket, keep a short list there, and update or remove in place.</video:description>
<video:content_loc>https://leettube.dev/api/video/design-hashmap/video.mp4</video:content_loc>
<video:duration>98</video:duration>
<video:publication_date>2026-10-07T21:16:03.329Z</video:publication_date>
</video:video>
<lastmod>2026-10-07T21:16:03.329Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://leettube.dev/watch/min-stack</loc>
<video:video>
<video:title>Min Stack (LeetCode 155)</video:title>
<video:thumbnail_loc>https://leettube.dev/posters/min-stack.webp</video:thumbnail_loc>
<video:description>A stack that also reports its smallest value in constant time. Store each push next to the minimum at that moment, so popping brings the old minimum back.</video:description>
<video:content_loc>https://leettube.dev/api/video/min-stack/video.mp4</video:content_loc>
<video:duration>86</video:duration>
<video:publication_date>2026-10-07T21:17:52.774Z</video:publication_date>
</video:video>
<lastmod>2026-10-07T21:17:52.774Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://leettube.dev/watch/online-stock-span</loc>
<video:video>
<video:title>Online Stock Span (LeetCode 901)</video:title>
<video:thumbnail_loc>https://leettube.dev/posters/online-stock-span.webp</video:thumbnail_loc>
<video:description>Each day, report how many days in a row the price has been at or below today&apos;s. Keep a stack of (price, span) pairs: pop every smaller price and add its span to today&apos;s. Each day is pushed and popped once: O(1) amortized.</video:description>
<video:content_loc>https://leettube.dev/api/video/online-stock-span/video.mp4</video:content_loc>
<video:duration>106</video:duration>
<video:publication_date>2026-10-08T03:04:41.967Z</video:publication_date>
</video:video>
<lastmod>2026-10-08T03:04:41.967Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://leettube.dev/watch/implement-queue-using-stacks</loc>
<video:video>
<video:title>Implement Queue using Stacks (LeetCode 232)</video:title>
<video:thumbnail_loc>https://leettube.dev/posters/implement-queue-using-stacks.webp</video:thumbnail_loc>
<video:description>Build a first-in, first-out queue from two stacks: push onto one, and pour it into the other only when that runs dry. Each item moves once.</video:description>
<video:content_loc>https://leettube.dev/api/video/implement-queue-using-stacks/video.mp4</video:content_loc>
<video:duration>102</video:duration>
<video:publication_date>2026-10-07T21:16:36.765Z</video:publication_date>
</video:video>
<lastmod>2026-10-07T21:16:36.765Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://leettube.dev/watch/design-circular-queue</loc>
<video:video>
<video:title>Design Circular Queue (LeetCode 622)</video:title>
<video:thumbnail_loc>https://leettube.dev/posters/design-circular-queue.webp</video:thumbnail_loc>
<video:description>Build a fixed-size ring queue: keep a head index and a count, wrap every step with modulo, and each operation is constant time.</video:description>
<video:content_loc>https://leettube.dev/api/video/design-circular-queue/video.mp4</video:content_loc>
<video:duration>100</video:duration>
<video:publication_date>2026-10-07T21:16:01.674Z</video:publication_date>
</video:video>
<lastmod>2026-10-07T21:16:01.674Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://leettube.dev/watch/snapshot-array</loc>
<video:video>
<video:title>Snapshot Array (LeetCode 1146)</video:title>
<video:thumbnail_loc>https://leettube.dev/posters/snapshot-array.webp</video:thumbnail_loc>
<video:description>Take snapshots of a huge array cheaply: each index keeps only its changes, and a binary search finds the value at any snap id.</video:description>
<video:content_loc>https://leettube.dev/api/video/snapshot-array/video.mp4</video:content_loc>
<video:duration>106</video:duration>
<video:publication_date>2026-10-07T21:19:23.838Z</video:publication_date>
</video:video>
<lastmod>2026-10-07T21:19:23.838Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://leettube.dev/watch/binary-search-tree-iterator</loc>
<video:video>
<video:title>Binary Search Tree Iterator (LeetCode 173)</video:title>
<video:thumbnail_loc>https://leettube.dev/posters/binary-search-tree-iterator.webp</video:thumbnail_loc>
<video:description>Walk a BST in sorted order one call at a time. Keep a stack of the left spine; each next() pops a node and pushes its right child&apos;s left spine.</video:description>
<video:content_loc>https://leettube.dev/api/video/binary-search-tree-iterator/video.mp4</video:content_loc>
<video:duration>102</video:duration>
<video:publication_date>2026-10-07T21:15:07.067Z</video:publication_date>
</video:video>
<lastmod>2026-10-07T21:15:07.067Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://leettube.dev/watch/lru-cache</loc>
<video:video>
<video:title>LRU Cache (LeetCode 146)</video:title>
<video:thumbnail_loc>https://leettube.dev/posters/lru-cache.webp</video:thumbnail_loc>
<video:description>A fixed-size cache with constant-time get and put that evicts the least recently used key. A hash map finds the node, and a linked list keeps the order.</video:description>
<video:content_loc>https://leettube.dev/api/video/lru-cache/video.mp4</video:content_loc>
<video:duration>94</video:duration>
<video:publication_date>2026-10-07T21:17:33.577Z</video:publication_date>
</video:video>
<lastmod>2026-10-07T21:17:33.577Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://leettube.dev/watch/lfu-cache</loc>
<video:video>
<video:title>LFU Cache (LeetCode 460)</video:title>
<video:thumbnail_loc>https://leettube.dev/posters/lfu-cache.webp</video:thumbnail_loc>
<video:description>A cache that evicts the least frequently used key in O(1): a map from key to node, plus one list per use count and a pointer to the lowest count.</video:description>
<video:content_loc>https://leettube.dev/api/video/lfu-cache/video.mp4</video:content_loc>
<video:duration>100</video:duration>
<video:publication_date>2026-10-07T21:17:17.966Z</video:publication_date>
</video:video>
<lastmod>2026-10-07T21:17:17.966Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://leettube.dev/watch/insert-delete-getrandom</loc>
<video:video>
<video:title>Insert Delete GetRandom O(1) (LeetCode 380)</video:title>
<video:thumbnail_loc>https://leettube.dev/posters/insert-delete-getrandom.webp</video:thumbnail_loc>
<video:description>A set with constant-time insert, remove and random pick. Keep values in a list and their positions in a map, and delete by swapping with the last.</video:description>
<video:content_loc>https://leettube.dev/api/video/insert-delete-getrandom/video.mp4</video:content_loc>
<video:duration>91</video:duration>
<video:publication_date>2026-10-07T21:16:39.792Z</video:publication_date>
</video:video>
<lastmod>2026-10-07T21:16:39.792Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://leettube.dev/watch/design-add-and-search-words</loc>
<video:video>
<video:title>Add and Search Words (LeetCode 211)</video:title>
<video:thumbnail_loc>https://leettube.dev/posters/design-add-and-search-words.webp</video:thumbnail_loc>
<video:description>Store words in a trie and search patterns where a dot matches any letter, branching into every child only when you meet a dot.</video:description>
<video:content_loc>https://leettube.dev/api/video/design-add-and-search-words/video.mp4</video:content_loc>
<video:duration>99</video:duration>
<video:publication_date>2026-10-07T21:15:59.013Z</video:publication_date>
</video:video>
<lastmod>2026-10-07T21:15:59.013Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://leettube.dev/watch/find-median-from-data-stream</loc>
<video:video>
<video:title>Find Median from Data Stream (LeetCode 295)</video:title>
<video:thumbnail_loc>https://leettube.dev/posters/find-median-from-data-stream.webp</video:thumbnail_loc>
<video:description>Keep the running median as numbers stream in. Split them across two heaps, a max-heap for the low half and a min-heap for the high half.</video:description>
<video:content_loc>https://leettube.dev/api/video/find-median-from-data-stream/video.mp4</video:content_loc>
<video:duration>96</video:duration>
<video:publication_date>2026-10-07T21:16:18.295Z</video:publication_date>
</video:video>
<lastmod>2026-10-07T21:16:18.295Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://leettube.dev/watch/time-based-key-value-store</loc>
<video:video>
<video:title>Time Based Key-Value Store (LeetCode 981)</video:title>
<video:thumbnail_loc>https://leettube.dev/posters/time-based-key-value-store.webp</video:thumbnail_loc>
<video:description>Store values per key with timestamps, then fetch the latest value at or before a time. Times arrive sorted, so binary search them.</video:description>
<video:content_loc>https://leettube.dev/api/video/time-based-key-value-store/video.mp4</video:content_loc>
<video:duration>99</video:duration>
<video:publication_date>2026-10-07T21:19:45.568Z</video:publication_date>
</video:video>
<lastmod>2026-10-07T21:19:45.568Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://leettube.dev/watch/merge-k-sorted-lists</loc>
<video:video>
<video:title>Merge k Sorted Lists (LeetCode 23)</video:title>
<video:thumbnail_loc>https://leettube.dev/posters/merge-k-sorted-lists.webp</video:thumbnail_loc>
<video:description>Merge k sorted linked lists into one. The next node is always one of the k heads, so keep them in a min-heap and pop the smallest.</video:description>
<video:content_loc>https://leettube.dev/api/video/merge-k-sorted-lists/video.mp4</video:content_loc>
<video:duration>102</video:duration>
<video:publication_date>2026-10-07T21:17:43.903Z</video:publication_date>
</video:video>
<lastmod>2026-10-07T21:17:43.903Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://leettube.dev/watch/design-twitter</loc>
<video:video>
<video:title>Design Twitter (LeetCode 355)</video:title>
<video:thumbnail_loc>https://leettube.dev/posters/design-twitter.webp</video:thumbnail_loc>
<video:description>Build a tiny Twitter with post, follow and a news feed. Hash maps hold tweets and follows, and a max-heap merges the ten newest.</video:description>
<video:content_loc>https://leettube.dev/api/video/design-twitter/video.mp4</video:content_loc>
<video:duration>105</video:duration>
<video:publication_date>2026-10-07T21:16:06.768Z</video:publication_date>
</video:video>
<lastmod>2026-10-07T21:16:06.768Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://leettube.dev/watch/kth-largest-element-in-a-stream</loc>
<video:video>
<video:title>Kth Largest Element in a Stream (LeetCode 703)</video:title>
<video:thumbnail_loc>https://leettube.dev/posters/kth-largest-element-in-a-stream.webp</video:thumbnail_loc>
<video:description>Track the kth largest number as new ones stream in. Keep only the top k in a min-heap, and its smallest member is always the answer.</video:description>
<video:content_loc>https://leettube.dev/api/video/kth-largest-element-in-a-stream/video.mp4</video:content_loc>
<video:duration>88</video:duration>
<video:publication_date>2026-10-07T21:17:06.357Z</video:publication_date>
</video:video>
<lastmod>2026-10-07T21:17:06.357Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://leettube.dev/watch/last-stone-weight</loc>
<video:video>
<video:title>Last Stone Weight (LeetCode 1046)</video:title>
<video:thumbnail_loc>https://leettube.dev/posters/last-stone-weight.webp</video:thumbnail_loc>
<video:description>Smash the two heaviest stones together until at most one is left. A max-heap hands you the two biggest every turn in log time.</video:description>
<video:content_loc>https://leettube.dev/api/video/last-stone-weight/video.mp4</video:content_loc>
<video:duration>101</video:duration>
<video:publication_date>2026-10-07T21:17:11.133Z</video:publication_date>
</video:video>
<lastmod>2026-10-07T21:17:11.133Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://leettube.dev/watch/detect-squares</loc>
<video:video>
<video:title>Detect Squares (LeetCode 2013)</video:title>
<video:thumbnail_loc>https://leettube.dev/posters/detect-squares.webp</video:thumbnail_loc>
<video:description>Count the axis-aligned squares a query point makes with stored points. Keep point counts in a hash map and scan for diagonal corners.</video:description>
<video:content_loc>https://leettube.dev/api/video/detect-squares/video.mp4</video:content_loc>
<video:duration>97</video:duration>
<video:publication_date>2026-10-07T21:16:08.446Z</video:publication_date>
</video:video>
<lastmod>2026-10-07T21:16:08.446Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://leettube.dev/watch/k-closest-points-to-origin</loc>
<video:video>
<video:title>K Closest Points to Origin (LeetCode 973)</video:title>
<video:thumbnail_loc>https://leettube.dev/posters/k-closest-points-to-origin.webp</video:thumbnail_loc>
<video:description>Find the k points nearest the origin. Keep a max-heap of k seats and bump whoever sits farthest, so the k closest are left at the end.</video:description>
<video:content_loc>https://leettube.dev/api/video/k-closest-points-to-origin/video.mp4</video:content_loc>
<video:duration>100</video:duration>
<video:publication_date>2026-10-07T21:17:04.223Z</video:publication_date>
</video:video>
<lastmod>2026-10-07T21:17:04.223Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
</urlset>
