<?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-07T21:20:09.316Z</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-07T21:20:09.316Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.9</priority>
</url>
<url>
<loc>https://leettube.dev/worlds/arrays</loc>
<lastmod>2026-10-07T21:20:09.316Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.9</priority>
</url>
<url>
<loc>https://leettube.dev/worlds/trees</loc>
<lastmod>2026-10-07T21:20:09.316Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.9</priority>
</url>
<url>
<loc>https://leettube.dev/worlds/backtracking</loc>
<lastmod>2026-10-07T21:20:09.316Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.9</priority>
</url>
<url>
<loc>https://leettube.dev/worlds/dynamic-programming</loc>
<lastmod>2026-10-07T21:20:09.316Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.9</priority>
</url>
<url>
<loc>https://leettube.dev/worlds/graphs</loc>
<lastmod>2026-10-07T21:20:09.316Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.9</priority>
</url>
<url>
<loc>https://leettube.dev/worlds/greedy</loc>
<lastmod>2026-10-07T21:20:09.316Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.9</priority>
</url>
<url>
<loc>https://leettube.dev/worlds/bits-and-math</loc>
<lastmod>2026-10-07T21:20:09.316Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.9</priority>
</url>
<url>
<loc>https://leettube.dev/worlds/design</loc>
<lastmod>2026-10-07T21:20:09.316Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.9</priority>
</url>
<url>
<loc>https://leettube.dev/topics</loc>
<lastmod>2026-10-07T21:20:09.316Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://leettube.dev/topics/dynamic-programming</loc>
<lastmod>2026-10-07T21:20:09.316Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://leettube.dev/topics/backtracking</loc>
<lastmod>2026-10-07T21:20:09.316Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://leettube.dev/topics/greedy</loc>
<lastmod>2026-10-07T21:20:09.316Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://leettube.dev/topics/tree-recursion</loc>
<lastmod>2026-10-07T21:20:09.316Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://leettube.dev/topics/bit-manipulation</loc>
<lastmod>2026-10-07T21:20:09.316Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://leettube.dev/topics/design</loc>
<lastmod>2026-10-07T21:20:09.316Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://leettube.dev/topics/two-pointers</loc>
<lastmod>2026-10-07T21:20:09.316Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://leettube.dev/topics/hash-map</loc>
<lastmod>2026-10-07T21:20:09.316Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://leettube.dev/topics/heap</loc>
<lastmod>2026-10-07T21:20:09.316Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://leettube.dev/topics/binary-search</loc>
<lastmod>2026-10-07T21:20:09.316Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://leettube.dev/topics/breadth-first-search</loc>
<lastmod>2026-10-07T21:20:09.316Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://leettube.dev/topics/linked-list</loc>
<lastmod>2026-10-07T21:20:09.316Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://leettube.dev/topics/fast-and-slow-pointers</loc>
<lastmod>2026-10-07T21:20:09.316Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://leettube.dev/topics/grid-search</loc>
<lastmod>2026-10-07T21:20:09.316Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://leettube.dev/topics/shortest-path</loc>
<lastmod>2026-10-07T21:20:09.316Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://leettube.dev/topics/depth-first-search</loc>
<lastmod>2026-10-07T21:20:09.316Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://leettube.dev/topics/math</loc>
<lastmod>2026-10-07T21:20:09.316Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://leettube.dev/topics/carry</loc>
<lastmod>2026-10-07T21:20:09.316Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://leettube.dev/topics/hash-set</loc>
<lastmod>2026-10-07T21:20:09.316Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://leettube.dev/topics/matrix</loc>
<lastmod>2026-10-07T21:20:09.316Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://leettube.dev/topics/monotonic-stack</loc>
<lastmod>2026-10-07T21:20:09.316Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://leettube.dev/topics/prefix-sums</loc>
<lastmod>2026-10-07T21:20:09.316Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://leettube.dev/topics/sliding-window</loc>
<lastmod>2026-10-07T21:20:09.316Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://leettube.dev/topics/stack</loc>
<lastmod>2026-10-07T21:20:09.316Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://leettube.dev/topics/topological-sort</loc>
<lastmod>2026-10-07T21:20:09.316Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://leettube.dev/topics/trie</loc>
<lastmod>2026-10-07T21:20:09.316Z</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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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>
