{ "config": { "analytics": [], "api": { "playground": { "enabled": true, "proxy": false } }, "appleIcon": null, "assistant": { "captcha": null, "endpoint": "https://srs-api.prdlk.workers.dev/ask", "suggestions": [], "support": null }, "banner": null, "basePath": "", "codeThemes": { "dark": "github-dark", "light": "github-light" }, "codeWrap": false, "consent": null, "dateFormat": { "dateStyle": "long" }, "description": "Documentation for my LeetCode solutions", "discovery": { "agentReadability": true, "aiCatalog": true, "api": true, "llmsTxt": true, "sitemap": true }, "favicon": { "href": "/icon.png", "type": "image/png" }, "feedback": true, "feedbackComments": false, "footer": null, "github": { "api": "https://api.github.com", "host": "https://github.com", "owner": "prdlk", "repo": "leetcode" }, "i18n": null, "identity": null, "imageZoom": true, "jsonLd": {}, "logo": { "alt": "", "href": "/", "svg": "\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n" }, "mcp": null, "metatags": null, "narration": null, "og": { "description": "Documentation for my LeetCode solutions", "enabled": true, "logo": "\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n", "site": "lc.prd.lk" }, "openInChat": [ "v0", "chatgpt", "claude", "t3", "scira", "cursor" ], "repoUrl": "https://github.com/prdlk/leetcode", "search": { "analytics": { "queries": true }, "enabled": true, "popular": [], "provider": "orama" }, "site": "https://lc.prd.lk", "structuredData": true, "theme": { "accent": { "dark": "blue", "light": "blue" }, "fonts": { "body": { "name": "Inter", "variants": [ { "src": "./node_modules/@fontsource-variable/inter/files/inter-latin-wght-normal.woff2", "weight": "100..900" } ] }, "display": { "name": "Inter", "variants": [ { "src": "./node_modules/@fontsource-variable/inter/files/inter-latin-wght-normal.woff2", "weight": "100..900" } ] }, "mono": { "name": "IBM Plex Mono", "variants": [ { "src": "./node_modules/@fontsource/ibm-plex-mono/files/ibm-plex-mono-latin-400-normal.woff2", "weight": 400 }, { "src": "./node_modules/@fontsource/ibm-plex-mono/files/ibm-plex-mono-latin-500-normal.woff2", "weight": 500 } ] } }, "mode": "system", "radius": "md", "toggle": true }, "title": "prdlk", "toc": { "enabled": true, "maxLevel": 3, "minLevel": 2 }, "versions": null, "webmcp": { "enabled": true, "llms": true }, "x": { "handle": "@prdlk" } }, "feeds": [], "fontCssVars": [ { "cssVariable": "--blume-ff-inter", "preloadWeights": [ 400, 500, 600 ] }, { "cssVariable": "--blume-ff-ibm-plex-mono", "preloadWeights": [ 400 ] } ], "navigation": { "actions": [], "cta": null, "featured": [], "root": "/", "selectors": [], "sidebar": [ { "description": "Structured dependency spine based roadmap for solving DSA Problems on leetcode.", "icon": "play", "kind": "page", "label": "Introduction", "pageId": "filesystem:index.mdx", "route": "/" }, { "description": "Coding problems rarely tell you which algorithm to use, but the wording usually leaks it. \"K-th largest\" hints at a heap. \"Shortest path\" in an unweighted graph hints at BFS.", "icon": "map", "kind": "page", "label": "Keywords", "pageId": "filesystem:keywords.mdx", "route": "/keywords" }, { "children": [ { "children": [ { "badge": "Easy", "description": "You are given an array of integers nums and an integer target, return indices of the two numbers such that they add up to target", "icon": "dot", "kind": "page", "label": "Two Sum", "pageId": "filesystem:(01-linear-structures)/hash-table/1_two-sum.mdx", "route": "/hash-table/two-sum" }, { "badge": "Medium", "description": "Given an array of strings strs, group the anagrams together. You can return the answer in any order", "icon": "dot", "kind": "page", "label": "Group Anagrams", "pageId": "filesystem:(01-linear-structures)/hash-table/49_group-anagrams.mdx", "route": "/hash-table/group-anagrams" }, { "badge": "Medium", "description": "Given an unsorted array of integers nums, return the length of the longest consecutive elements sequence", "icon": "dot", "kind": "page", "label": "Longest Consecutive Sequence", "pageId": "filesystem:(01-linear-structures)/hash-table/128_longest-consecutive-sequence.mdx", "route": "/hash-table/longest-consecutive-sequence" }, { "badge": "Easy", "description": "Given two strings s and t, determine if they are isomorphic", "icon": "dot", "kind": "page", "label": "Isomorphic Strings", "pageId": "filesystem:(01-linear-structures)/hash-table/205_isomorphic-strings.mdx", "route": "/hash-table/isomorphic-strings" }, { "badge": "Easy", "description": "Given an integer array nums, return true if any value appears at least twice in the array, and return false if every element is distinct", "icon": "dot", "kind": "page", "label": "Contains Duplicate", "pageId": "filesystem:(01-linear-structures)/hash-table/217_contains-duplicate.mdx", "route": "/hash-table/contains-duplicate" }, { "badge": "Easy", "description": "Given two strings s and t, return true if t is an anagram of s, and false otherwise", "icon": "dot", "kind": "page", "label": "Valid Anagram", "pageId": "filesystem:(01-linear-structures)/hash-table/242_valid-anagram.mdx", "route": "/hash-table/valid-anagram" }, { "badge": "Easy", "description": "Given a pattern and a string s, find if s follows the same pattern", "icon": "dot", "kind": "page", "label": "Word Pattern", "pageId": "filesystem:(01-linear-structures)/hash-table/290_word-pattern.mdx", "route": "/hash-table/word-pattern" }, { "badge": "Medium", "description": "Given an integer array nums and an integer k, return the k most frequent elements. You may return the answer in any order", "icon": "dot", "kind": "page", "label": "Top K Frequent Elements", "pageId": "filesystem:(01-linear-structures)/hash-table/347_top-k-frequent-elements.mdx", "route": "/hash-table/top-k-frequent-elements" }, { "badge": "Easy", "description": "Given a string s, find the first non-repeating character in it and return its index. If it does not exist, return -1", "icon": "dot", "kind": "page", "label": "First Unique Character in a String", "pageId": "filesystem:(01-linear-structures)/hash-table/387_first-unique-character-in-a-string.mdx", "route": "/hash-table/first-unique-character-in-a-string" }, { "badge": "Medium", "description": "Given a string s, sort it in decreasing order based on the frequency of the characters. The frequency of a character is the number of times it appears in the string", "icon": "dot", "kind": "page", "label": "Sort Characters By Frequency", "pageId": "filesystem:(01-linear-structures)/hash-table/451_sort-characters-by-frequency.mdx", "route": "/hash-table/sort-characters-by-frequency" }, { "badge": "Easy", "description": "A pangram is a sentence where every letter of the English alphabet appears at least once", "icon": "dot", "kind": "page", "label": "Check if the Sentence Is Pangram", "pageId": "filesystem:(01-linear-structures)/hash-table/1832_check-if-the-sentence-is-pangram.mdx", "route": "/hash-table/check-if-the-sentence-is-pangram" } ], "display": "group", "icon": "hash", "kind": "group", "label": "Hash Table", "path": "/hash-table", "route": "/hash-table" }, { "children": [ { "badge": "Medium", "description": "Given an integer array nums, return an array answer such that answer[i] is equal to the product of all the elements of nums except nums[i]", "icon": "dot", "kind": "page", "label": "Product of Array Except Self", "pageId": "filesystem:(01-linear-structures)/prefix-sum/238_product-of-array-except-self.mdx", "route": "/prefix-sum/product-of-array-except-self" }, { "badge": "Easy", "description": "Given an integer array nums, handle multiple queries of the following type", "icon": "dot", "kind": "page", "label": "Range Sum Query - Immutable", "pageId": "filesystem:(01-linear-structures)/prefix-sum/303_range-sum-query-immutable.mdx", "route": "/prefix-sum/range-sum-query-immutable" }, { "badge": "Medium", "description": "Given a binary array nums, return the maximum length of a contiguous subarray with an equal number of 0 and 1", "icon": "dot", "kind": "page", "label": "Contiguous Array", "pageId": "filesystem:(01-linear-structures)/prefix-sum/525_contiguous-array.mdx", "route": "/prefix-sum/contiguous-array" }, { "badge": "Medium", "description": "Given an array of integers nums and an integer k, return the total number of subarrays whose sum equals to k", "icon": "dot", "kind": "page", "label": "Subarray Sum Equals K", "pageId": "filesystem:(01-linear-structures)/prefix-sum/560_subarray-sum-equals-k.mdx", "route": "/prefix-sum/subarray-sum-equals-k" }, { "badge": "Medium", "description": "Given an integer array nums and an integer k, return the number of non-empty subarrays that have a sum divisible by k", "icon": "dot", "kind": "page", "label": "Subarray Sums Divisible by K", "pageId": "filesystem:(01-linear-structures)/prefix-sum/974_subarray-sums-divisible-by-k.mdx", "route": "/prefix-sum/subarray-sums-divisible-by-k" } ], "display": "group", "icon": "sigma", "kind": "group", "label": "Prefix Sum", "path": "/prefix-sum", "route": "/prefix-sum" }, { "children": [ { "badge": "Medium", "description": "You are given an integer array height of length n. There are n vertical lines drawn such that the two endpoints of the i^th line are (i, 0) and (i, height[i])", "icon": "dot", "kind": "page", "label": "Container With Most Water", "pageId": "filesystem:(01-linear-structures)/two-pointers/11_container-with-most-water.mdx", "route": "/two-pointers/container-with-most-water" }, { "badge": "Medium", "description": "Given an integer array nums, return all the triplets [nums[i], nums[j], nums[k]] such that i != j, i != k, and j != k, and nums[i] + nums[j] + nums[k] == 0", "icon": "dot", "kind": "page", "label": "3Sum", "pageId": "filesystem:(01-linear-structures)/two-pointers/15_3sum.mdx", "route": "/two-pointers/3sum" }, { "badge": "Hard", "description": "Given n non-negative integers representing an elevation map where the width of each bar is 1, compute how much water it can trap after raining", "icon": "dot", "kind": "page", "label": "Trapping Rain Water", "pageId": "filesystem:(01-linear-structures)/two-pointers/42_trapping-rain-water.mdx", "route": "/two-pointers/trapping-rain-water" }, { "badge": "Medium", "description": "Given an integer array nums sorted in non-decreasing order, remove some duplicates in-place such that each unique element appears at most twice. The relative order of the elements should be kept the same", "icon": "dot", "kind": "page", "label": "Remove Duplicates from Sorted Array II", "pageId": "filesystem:(01-linear-structures)/two-pointers/80_remove-duplicates-from-sorted-array-ii.mdx", "route": "/two-pointers/remove-duplicates-from-sorted-array-ii" }, { "badge": "Easy", "description": "A phrase is a palindrome if, after converting all uppercase letters into lowercase letters and removing all non-alphanumeric characters, it reads the same forward and backward. Alphanumeric characters include letters and numbers", "icon": "dot", "kind": "page", "label": "Valid Palindrome", "pageId": "filesystem:(01-linear-structures)/two-pointers/125_valid-palindrome.mdx", "route": "/two-pointers/valid-palindrome" }, { "badge": "Medium", "description": "Given a 1-indexed array of integers numbers that is already sorted in non-decreasing order, find two numbers such that they add up to a specific target number. Let these two numbers be numbers[index1] and numbers[index2] where 1 <= index1 < index2 <= numbers.length", "icon": "dot", "kind": "page", "label": "Two Sum II - Input Array Is Sorted", "pageId": "filesystem:(01-linear-structures)/two-pointers/167_two-sum-ii-input-array-is-sorted.mdx", "route": "/two-pointers/two-sum-ii-input-array-is-sorted" }, { "badge": "Medium", "description": "Given an integer array nums, rotate the array to the right by k steps, where k is non-negative", "icon": "dot", "kind": "page", "label": "Rotate Array", "pageId": "filesystem:(01-linear-structures)/two-pointers/189_rotate-array.mdx", "route": "/two-pointers/rotate-array" }, { "badge": "Easy", "description": "Write a function that reverses a string. The input string is given as an array of characters s", "icon": "dot", "kind": "page", "label": "Reverse String", "pageId": "filesystem:(01-linear-structures)/two-pointers/344_reverse-string.mdx", "route": "/two-pointers/reverse-string" }, { "badge": "Easy", "description": "Given two strings s and t, return true if s is a subsequence of t, or false otherwise", "icon": "dot", "kind": "page", "label": "Is Subsequence", "pageId": "filesystem:(01-linear-structures)/two-pointers/392_is-subsequence.mdx", "route": "/two-pointers/is-subsequence" }, { "badge": "Easy", "description": "Given an integer array nums sorted in non-decreasing order, return an array of the squares of each number sorted in non-decreasing order", "icon": "dot", "kind": "page", "label": "Squares of a Sorted Array", "pageId": "filesystem:(01-linear-structures)/two-pointers/977_squares-of-a-sorted-array.mdx", "route": "/two-pointers/squares-of-a-sorted-array" } ], "display": "group", "icon": "arrow-left-right", "kind": "group", "label": "Two Pointers", "path": "/two-pointers", "route": "/two-pointers" }, { "children": [ { "badge": "Medium", "description": "Given a string s, find the length of the longest substring without duplicate characters", "icon": "dot", "kind": "page", "label": "Longest Substring Without Repeating Characters", "pageId": "filesystem:(01-linear-structures)/sliding-window/3_longest-substring-without-repeating-characters.mdx", "route": "/sliding-window/longest-substring-without-repeating-characters" }, { "badge": "Hard", "description": "Given two strings s and t of lengths m and n respectively, return the minimum window substring of s such that every character in t (including duplicates) is included in the window. If there is no such substring, return the empty string \"\"", "icon": "dot", "kind": "page", "label": "Minimum Window Substring", "pageId": "filesystem:(01-linear-structures)/sliding-window/76_minimum-window-substring.mdx", "route": "/sliding-window/minimum-window-substring" }, { "badge": "Easy", "description": "You are given an array prices where prices[i] is the price of a given stock on the i^th day", "icon": "dot", "kind": "page", "label": "Best Time to Buy and Sell Stock", "pageId": "filesystem:(01-linear-structures)/sliding-window/121_best-time-to-buy-and-sell-stock.mdx", "route": "/sliding-window/best-time-to-buy-and-sell-stock" }, { "badge": "Medium", "description": "Given an array of positive integers nums and a positive integer target, return the minimal length of a subarray whose sum is greater than or equal to target. If there is no such subarray, return 0 instead", "icon": "dot", "kind": "page", "label": "Minimum Size Subarray Sum", "pageId": "filesystem:(01-linear-structures)/sliding-window/209_minimum-size-subarray-sum.mdx", "route": "/sliding-window/minimum-size-subarray-sum" }, { "badge": "Medium", "description": "You are given a string s and an integer k. You can choose any character of the string and change it to any other uppercase English character. You can perform this operation at most k times", "icon": "dot", "kind": "page", "label": "Longest Repeating Character Replacement", "pageId": "filesystem:(01-linear-structures)/sliding-window/424_longest-repeating-character-replacement.mdx", "route": "/sliding-window/longest-repeating-character-replacement" }, { "badge": "Medium", "description": "Given two strings s1 and s2, return true if s2 contains a permutation of s1, or false otherwise", "icon": "dot", "kind": "page", "label": "Permutation in String", "pageId": "filesystem:(01-linear-structures)/sliding-window/567_permutation-in-string.mdx", "route": "/sliding-window/permutation-in-string" }, { "badge": "Easy", "description": "You are given an integer array nums consisting of n elements, and an integer k", "icon": "dot", "kind": "page", "label": "Maximum Average Subarray I", "pageId": "filesystem:(01-linear-structures)/sliding-window/643_maximum-average-subarray-i.mdx", "route": "/sliding-window/maximum-average-subarray-i" }, { "badge": "Medium", "description": "Given a binary array nums and an integer k, return the maximum number of consecutive 1's in the array if you can flip at most k 0's", "icon": "dot", "kind": "page", "label": "Max Consecutive Ones III", "pageId": "filesystem:(01-linear-structures)/sliding-window/1004_max-consecutive-ones-iii.mdx", "route": "/sliding-window/max-consecutive-ones-iii" } ], "display": "group", "icon": "app-window", "kind": "group", "label": "Sliding Window", "path": "/sliding-window", "route": "/sliding-window" }, { "children": [ { "badge": "Hard", "description": "Given two sorted arrays nums1 and nums2 of size m and n respectively, return the median of the two sorted arrays", "icon": "dot", "kind": "page", "label": "Median of Two Sorted Arrays", "pageId": "filesystem:(01-linear-structures)/binary-search/4_median-of-two-sorted-arrays.mdx", "route": "/binary-search/median-of-two-sorted-arrays" }, { "badge": "Medium", "description": "There is an integer array nums sorted in ascending order (with distinct values)", "icon": "dot", "kind": "page", "label": "Search in Rotated Sorted Array", "pageId": "filesystem:(01-linear-structures)/binary-search/33_search-in-rotated-sorted-array.mdx", "route": "/binary-search/search-in-rotated-sorted-array" }, { "badge": "Medium", "description": "Given an array of integers nums sorted in non-decreasing order, find the starting and ending position of a given target value", "icon": "dot", "kind": "page", "label": "Find First and Last Position of Element in Sorted Array", "pageId": "filesystem:(01-linear-structures)/binary-search/34_find-first-and-last-position-of-element-in-sorted-array.mdx", "route": "/binary-search/find-first-and-last-position-of-element-in-sorted-array" }, { "badge": "Easy", "description": "Given a sorted array of distinct integers and a target value, return the index if the target is found. If not, return the index where it would be if it were inserted in order", "icon": "dot", "kind": "page", "label": "Search Insert Position", "pageId": "filesystem:(01-linear-structures)/binary-search/35_search-insert-position.mdx", "route": "/binary-search/search-insert-position" }, { "badge": "Medium", "description": "You are given an m x n integer matrix matrix with the following two properties:", "icon": "dot", "kind": "page", "label": "Search a 2D Matrix", "pageId": "filesystem:(01-linear-structures)/binary-search/74_search-a-2d-matrix.mdx", "route": "/binary-search/search-a-2d-matrix" }, { "badge": "Medium", "description": "Suppose an array of length n sorted in ascending order is rotated between 1 and n times. For example, the array nums = [0,1,2,4,5,6,7] might become:", "icon": "dot", "kind": "page", "label": "Find Minimum in Rotated Sorted Array", "pageId": "filesystem:(01-linear-structures)/binary-search/153_find-minimum-in-rotated-sorted-array.mdx", "route": "/binary-search/find-minimum-in-rotated-sorted-array" }, { "badge": "Medium", "description": "A peak element is an element that is strictly greater than its neighbors", "icon": "dot", "kind": "page", "label": "Find Peak Element", "pageId": "filesystem:(01-linear-structures)/binary-search/162_find-peak-element.mdx", "route": "/binary-search/find-peak-element" }, { "badge": "Easy", "description": "Given an array of integers nums which is sorted in ascending order, and an integer target, write a function to search target in nums. If target exists, then return its index. Otherwise, return -1", "icon": "dot", "kind": "page", "label": "Binary Search", "pageId": "filesystem:(01-linear-structures)/binary-search/704_binary-search.mdx", "route": "/binary-search/binary-search" }, { "badge": "Medium", "description": "Koko loves to eat bananas. There are n piles of bananas, the i^th pile has piles[i] bananas. The guards have gone and will come back in h hours", "icon": "dot", "kind": "page", "label": "Koko Eating Bananas", "pageId": "filesystem:(01-linear-structures)/binary-search/875_koko-eating-bananas.mdx", "route": "/binary-search/koko-eating-bananas" } ], "display": "group", "icon": "search", "kind": "group", "label": "Binary Search", "path": "/binary-search", "route": "/binary-search" }, { "children": [ { "badge": "Easy", "description": "Given a string s containing just the characters '(', ')', '{', '}', '[' and ']', determine if the input string is valid", "icon": "dot", "kind": "page", "label": "Valid Parentheses", "pageId": "filesystem:(01-linear-structures)/stack/20_valid-parentheses.mdx", "route": "/stack/valid-parentheses" }, { "badge": "Medium", "description": "You are given an absolute path for a Unix-style file system, which always begins with a slash '/'. Your task is to transform this absolute path into its simplified canonical path", "icon": "dot", "kind": "page", "label": "Simplify Path", "pageId": "filesystem:(01-linear-structures)/stack/71_simplify-path.mdx", "route": "/stack/simplify-path" }, { "badge": "Medium", "description": "You are given an array of strings tokens that represents an arithmetic expression in a Reverse Polish Notation", "icon": "dot", "kind": "page", "label": "Evaluate Reverse Polish Notation", "pageId": "filesystem:(01-linear-structures)/stack/150_evaluate-reverse-polish-notation.mdx", "route": "/stack/evaluate-reverse-polish-notation" }, { "badge": "Medium", "description": "Design a stack that supports push, pop, top, and retrieving the minimum element in constant time", "icon": "dot", "kind": "page", "label": "Min Stack", "pageId": "filesystem:(01-linear-structures)/stack/155_min-stack.mdx", "route": "/stack/min-stack" }, { "badge": "Hard", "description": "Given a string s representing a valid expression, implement a basic calculator to evaluate it, and return the result of the evaluation", "icon": "dot", "kind": "page", "label": "Basic Calculator", "pageId": "filesystem:(01-linear-structures)/stack/224_basic-calculator.mdx", "route": "/stack/basic-calculator" } ], "display": "group", "icon": "layers", "kind": "group", "label": "Stack", "path": "/stack", "route": "/stack" }, { "children": [ { "badge": "Hard", "description": "Given an array of integers heights representing the histogram's bar height where the width of each bar is 1, return the area of the largest rectangle in the histogram", "icon": "dot", "kind": "page", "label": "Largest Rectangle in Histogram", "pageId": "filesystem:(01-linear-structures)/monotonic-stack/84_largest-rectangle-in-histogram.mdx", "route": "/monotonic-stack/largest-rectangle-in-histogram" }, { "badge": "Easy", "description": "The next greater element of some element x in an array is the first greater element that is to the right of x in the same array", "icon": "dot", "kind": "page", "label": "Next Greater Element I", "pageId": "filesystem:(01-linear-structures)/monotonic-stack/496_next-greater-element-i.mdx", "route": "/monotonic-stack/next-greater-element-i" }, { "badge": "Medium", "description": "Given an array of integers temperatures represents the daily temperatures, return an array answer such that answer[i] is the number of days you have to wait after the i^th day to get a warmer temperature. If there is no future day for which this is possible, keep answer[i] == 0 instead", "icon": "dot", "kind": "page", "label": "Daily Temperatures", "pageId": "filesystem:(01-linear-structures)/monotonic-stack/739_daily-temperatures.mdx", "route": "/monotonic-stack/daily-temperatures" }, { "badge": "Medium", "description": "There are n cars at given miles away from the starting mile 0, traveling to reach the mile target", "icon": "dot", "kind": "page", "label": "Car Fleet", "pageId": "filesystem:(01-linear-structures)/monotonic-stack/853_car-fleet.mdx", "route": "/monotonic-stack/car-fleet" }, { "badge": "Medium", "description": "Design an algorithm that collects daily price quotes for some stock and returns the span of that stock's price for the current day", "icon": "dot", "kind": "page", "label": "Online Stock Span", "pageId": "filesystem:(01-linear-structures)/monotonic-stack/901_online-stock-span.mdx", "route": "/monotonic-stack/online-stock-span" } ], "display": "group", "icon": "trending-up", "kind": "group", "label": "Monotonic Stack", "path": "/monotonic-stack", "route": "/monotonic-stack" } ], "display": "flat", "kind": "group", "label": "Linear Structures", "path": "/" }, { "children": [ { "children": [ { "badge": "Medium", "description": "Given the head of a linked list, remove the n^th node from the end of the list and return its head", "icon": "dot", "kind": "page", "label": "Remove Nth Node From End of List", "pageId": "filesystem:(02-nodal-grid)/linked-list/19_remove-nth-node-from-end-of-list.mdx", "route": "/linked-list/remove-nth-node-from-end-of-list" }, { "badge": "Easy", "description": "You are given the heads of two sorted linked lists list1 and list2", "icon": "dot", "kind": "page", "label": "Merge Two Sorted Lists", "pageId": "filesystem:(02-nodal-grid)/linked-list/21_merge-two-sorted-lists.mdx", "route": "/linked-list/merge-two-sorted-lists" }, { "badge": "Medium", "description": "You are given the head of a sorted linked list", "icon": "dot", "kind": "page", "label": "Remove Duplicates from Sorted List II", "pageId": "filesystem:(02-nodal-grid)/linked-list/82_remove-duplicates-from-sorted-list-ii.mdx", "route": "/linked-list/remove-duplicates-from-sorted-list-ii" }, { "badge": "Medium", "description": "Given the head of a singly linked list and two integers left and right where left <= right, reverse the nodes of the list from position left to position right, and return the reversed list", "icon": "dot", "kind": "page", "label": "Reverse Linked List II", "pageId": "filesystem:(02-nodal-grid)/linked-list/92_reverse-linked-list-ii.mdx", "route": "/linked-list/reverse-linked-list-ii" }, { "badge": "Easy", "description": "Given head, the head of a linked list, determine if the linked list has a cycle in it", "icon": "dot", "kind": "page", "label": "Linked List Cycle", "pageId": "filesystem:(02-nodal-grid)/linked-list/141_linked-list-cycle.mdx", "route": "/linked-list/linked-list-cycle" }, { "badge": "Medium", "description": "You are given the head of a singly linked-list. The list can be represented as:", "icon": "dot", "kind": "page", "label": "Reorder List", "pageId": "filesystem:(02-nodal-grid)/linked-list/143_reorder-list.mdx", "route": "/linked-list/reorder-list" }, { "badge": "Easy", "description": "Given the head of a singly linked list, reverse the list, and return the reversed list", "icon": "dot", "kind": "page", "label": "Reverse Linked List", "pageId": "filesystem:(02-nodal-grid)/linked-list/206_reverse-linked-list.mdx", "route": "/linked-list/reverse-linked-list" }, { "badge": "Easy", "description": "Given the head of a singly linked list, return the middle node of the linked list", "icon": "dot", "kind": "page", "label": "Middle of the Linked List", "pageId": "filesystem:(02-nodal-grid)/linked-list/876_middle-of-the-linked-list.mdx", "route": "/linked-list/middle-of-the-linked-list" } ], "display": "group", "icon": "link", "kind": "group", "label": "Linked List", "path": "/linked-list", "route": "/linked-list" }, { "children": [ { "badge": "Medium", "description": "You are given two non-empty linked lists representing two non-negative integers. The digits are stored in reverse order, and each of their nodes contains a single digit. Add the two numbers and return the sum as a linked list", "icon": "dot", "kind": "page", "label": "Add Two Numbers", "pageId": "filesystem:(02-nodal-grid)/hybrid-structures/2_add-two-numbers.mdx", "route": "/hybrid-structures/add-two-numbers" }, { "badge": "Medium", "description": "Design a data structure that follows the constraints of a Least Recently Used (LRU) cache", "icon": "dot", "kind": "page", "label": "LRU Cache", "pageId": "filesystem:(02-nodal-grid)/hybrid-structures/146_lru-cache.mdx", "route": "/hybrid-structures/lru-cache" }, { "badge": "Medium", "description": "Implement the RandomizedSet class:", "icon": "dot", "kind": "page", "label": "Insert Delete GetRandom O(1)", "pageId": "filesystem:(02-nodal-grid)/hybrid-structures/380_insert-delete-getrandom-o1.mdx", "route": "/hybrid-structures/insert-delete-getrandom-o1" } ], "display": "group", "icon": "combine", "kind": "group", "label": "Hybrid Structures", "path": "/hybrid-structures", "route": "/hybrid-structures" }, { "children": [ { "badge": "Medium", "description": "Determine if a 9 x 9 Sudoku board is valid. Only the filled cells need to be validated according to the following rules:", "icon": "dot", "kind": "page", "label": "Valid Sudoku", "pageId": "filesystem:(02-nodal-grid)/matrix-index-math/36_valid-sudoku.mdx", "route": "/matrix-index-math/valid-sudoku" }, { "badge": "Medium", "description": "You are given an n x n 2D matrix representing an image, rotate the image by 90 degrees (clockwise)", "icon": "dot", "kind": "page", "label": "Rotate Image", "pageId": "filesystem:(02-nodal-grid)/matrix-index-math/48_rotate-image.mdx", "route": "/matrix-index-math/rotate-image" }, { "badge": "Medium", "description": "Given an m x n matrix, return all elements of the matrix in spiral order", "icon": "dot", "kind": "page", "label": "Spiral Matrix", "pageId": "filesystem:(02-nodal-grid)/matrix-index-math/54_spiral-matrix.mdx", "route": "/matrix-index-math/spiral-matrix" }, { "badge": "Medium", "description": "Given an m x n integer matrix matrix, if an element is 0, set its entire row and column to 0's", "icon": "dot", "kind": "page", "label": "Set Matrix Zeroes", "pageId": "filesystem:(02-nodal-grid)/matrix-index-math/73_set-matrix-zeroes.mdx", "route": "/matrix-index-math/set-matrix-zeroes" } ], "display": "group", "icon": "grid-3x3", "kind": "group", "label": "Matrix Index Math", "path": "/matrix-index-math", "route": "/matrix-index-math" } ], "display": "flat", "kind": "group", "label": "Nodal & Grid", "path": "/" }, { "children": [ { "children": [ { "badge": "Easy", "description": "Given the root of a binary tree, return its maximum depth", "icon": "dot", "kind": "page", "label": "Maximum Depth of Binary Tree", "pageId": "filesystem:(03-hierarchical)/tree-dfs/104_maximum-depth-of-binary-tree.mdx", "route": "/tree-dfs/maximum-depth-of-binary-tree" }, { "badge": "Easy", "description": "Given the root of a binary tree, invert the tree, and return its root", "icon": "dot", "kind": "page", "label": "Invert Binary Tree", "pageId": "filesystem:(03-hierarchical)/tree-dfs/226_invert-binary-tree.mdx", "route": "/tree-dfs/invert-binary-tree" }, { "badge": "Medium", "description": "Given a binary tree, find the lowest common ancestor (LCA) of two given nodes in the tree", "icon": "dot", "kind": "page", "label": "Lowest Common Ancestor of a Binary Tree", "pageId": "filesystem:(03-hierarchical)/tree-dfs/236_lowest-common-ancestor-of-a-binary-tree.mdx", "route": "/tree-dfs/lowest-common-ancestor-of-a-binary-tree" } ], "display": "group", "icon": "folder-tree", "kind": "group", "label": "Tree DFS", "path": "/tree-dfs", "route": "/tree-dfs" }, { "children": [ { "badge": "Medium", "description": "Given the root of a binary tree, return the level order traversal of its nodes' values. (i.e., from left to right, level by level)", "icon": "dot", "kind": "page", "label": "Binary Tree Level Order Traversal", "pageId": "filesystem:(03-hierarchical)/tree-bfs/102_binary-tree-level-order-traversal.mdx", "route": "/tree-bfs/binary-tree-level-order-traversal" }, { "badge": "Medium", "description": "Given the root of a binary tree, imagine yourself standing on the right side of it, return the values of the nodes you can see ordered from top to bottom", "icon": "dot", "kind": "page", "label": "Binary Tree Right Side View", "pageId": "filesystem:(03-hierarchical)/tree-bfs/199_binary-tree-right-side-view.mdx", "route": "/tree-bfs/binary-tree-right-side-view" }, { "badge": "Medium", "description": "Given a binary tree root, a node X in the tree is named good if in the path from root to X there are no nodes with a value greater than X", "icon": "dot", "kind": "page", "label": "Count Good Nodes in Binary Tree", "pageId": "filesystem:(03-hierarchical)/tree-bfs/1448_count-good-nodes-in-binary-tree.mdx", "route": "/tree-bfs/count-good-nodes-in-binary-tree" } ], "display": "group", "icon": "network", "kind": "group", "label": "Tree BFS", "path": "/tree-bfs", "route": "/tree-bfs" }, { "children": [ { "badge": "Medium", "description": "Given the root of a binary tree, determine if it is a valid binary search tree (BST)", "icon": "dot", "kind": "page", "label": "Validate Binary Search Tree", "pageId": "filesystem:(03-hierarchical)/binary-search-tree/98_validate-binary-search-tree.mdx", "route": "/binary-search-tree/validate-binary-search-tree" }, { "badge": "Medium", "description": "Given the root of a binary search tree, and an integer k, return the k^th smallest value (1-indexed) of all the values of the nodes in the tree", "icon": "dot", "kind": "page", "label": "Kth Smallest Element in a BST", "pageId": "filesystem:(03-hierarchical)/binary-search-tree/230_kth-smallest-element-in-a-bst.mdx", "route": "/binary-search-tree/kth-smallest-element-in-a-bst" }, { "badge": "Medium", "description": "Given a binary search tree (BST), find the lowest common ancestor (LCA) node of two given nodes in the BST", "icon": "dot", "kind": "page", "label": "Lowest Common Ancestor of a Binary Search Tree", "pageId": "filesystem:(03-hierarchical)/binary-search-tree/235_lowest-common-ancestor-of-a-binary-search-tree.mdx", "route": "/binary-search-tree/lowest-common-ancestor-of-a-binary-search-tree" } ], "display": "group", "icon": "git-fork", "kind": "group", "label": "Binary Search Tree", "path": "/binary-search-tree", "route": "/binary-search-tree" }, { "children": [ { "badge": "Hard", "description": "You are given an array of k linked-lists lists, each linked-list is sorted in ascending order", "icon": "dot", "kind": "page", "label": "Merge k Sorted Lists", "pageId": "filesystem:(03-hierarchical)/heap-priority-queue/23_merge-k-sorted-lists.mdx", "route": "/heap-priority-queue/merge-k-sorted-lists" }, { "badge": "Medium", "description": "Given an integer array nums and an integer k, return the k^th largest element in the array", "icon": "dot", "kind": "page", "label": "Kth Largest Element in an Array", "pageId": "filesystem:(03-hierarchical)/heap-priority-queue/215_kth-largest-element-in-an-array.mdx", "route": "/heap-priority-queue/kth-largest-element-in-an-array" }, { "badge": "Medium", "description": "Given an array of points where points[i] = [xi, yi] represents a point on the X-Y plane and an integer k, return the k closest points to the origin (0, 0)", "icon": "dot", "kind": "page", "label": "K Closest Points to Origin", "pageId": "filesystem:(03-hierarchical)/heap-priority-queue/973_k-closest-points-to-origin.mdx", "route": "/heap-priority-queue/k-closest-points-to-origin" } ], "display": "group", "icon": "triangle", "kind": "group", "label": "Heap / Priority Queue", "path": "/heap-priority-queue", "route": "/heap-priority-queue" }, { "children": [ { "badge": "Medium", "description": "A trie (pronounced as \"try\") or prefix tree is a tree data structure used to efficiently store and retrieve keys in a dataset of strings. There are various applications of this data structure, such as autocomplete and spellchecker", "icon": "dot", "kind": "page", "label": "Implement Trie (Prefix Tree)", "pageId": "filesystem:(03-hierarchical)/trie/208_implement-trie-prefix-tree.mdx", "route": "/trie/implement-trie-prefix-tree" }, { "badge": "Medium", "description": "Design a data structure that supports adding new words and finding if a string matches any previously added string", "icon": "dot", "kind": "page", "label": "Design Add and Search Words Data Structure", "pageId": "filesystem:(03-hierarchical)/trie/211_design-add-and-search-words-data-structure.mdx", "route": "/trie/design-add-and-search-words-data-structure" } ], "display": "group", "icon": "spell-check", "kind": "group", "label": "Trie", "path": "/trie", "route": "/trie" } ], "display": "flat", "kind": "group", "label": "Hierarchical", "path": "/" }, { "children": [ { "children": [ { "badge": "Medium", "description": "Given a reference of a node in a connected undirected graph", "icon": "dot", "kind": "page", "label": "Clone Graph", "pageId": "filesystem:(04-relational)/graph-dfs/133_clone-graph.mdx", "route": "/graph-dfs/clone-graph" }, { "badge": "Medium", "description": "Given an m x n 2D binary grid grid which represents a map of '1's (land) and '0's (water), return the number of islands", "icon": "dot", "kind": "page", "label": "Number of Islands", "pageId": "filesystem:(04-relational)/graph-dfs/200_number-of-islands.mdx", "route": "/graph-dfs/number-of-islands" }, { "badge": "Medium", "description": "There is an m x n rectangular island that borders both the Pacific Ocean and Atlantic Ocean. The Pacific Ocean touches the island's left and top edges, and the Atlantic Ocean touches the island's right and bottom edges", "icon": "dot", "kind": "page", "label": "Pacific Atlantic Water Flow", "pageId": "filesystem:(04-relational)/graph-dfs/417_pacific-atlantic-water-flow.mdx", "route": "/graph-dfs/pacific-atlantic-water-flow" } ], "display": "group", "icon": "waypoints", "kind": "group", "label": "Graph DFS", "path": "/graph-dfs", "route": "/graph-dfs" }, { "children": [ { "badge": "Hard", "description": "A transformation sequence from word beginWord to word endWord using a dictionary wordList is a sequence of words beginWord -> s1 -> s2 -> ... -> sk such that:", "icon": "dot", "kind": "page", "label": "Word Ladder", "pageId": "filesystem:(04-relational)/graph-bfs/127_word-ladder.mdx", "route": "/graph-bfs/word-ladder" }, { "badge": "Medium", "description": "You are given an m x n grid where each cell can have one of three values:", "icon": "dot", "kind": "page", "label": "Rotting Oranges", "pageId": "filesystem:(04-relational)/graph-bfs/994_rotting-oranges.mdx", "route": "/graph-bfs/rotting-oranges" } ], "display": "group", "icon": "radar", "kind": "group", "label": "Graph BFS", "path": "/graph-bfs", "route": "/graph-bfs" }, { "children": [ { "badge": "Medium", "description": "There are a total of numCourses courses you have to take, labeled from 0 to numCourses - 1. You are given an array prerequisites where prerequisites[i] = [ai, bi] indicates that you must take course bi first if you want to take course ai", "icon": "dot", "kind": "page", "label": "Course Schedule", "pageId": "filesystem:(04-relational)/topological-sort/207_course-schedule.mdx", "route": "/topological-sort/course-schedule" }, { "badge": "Medium", "description": "There are a total of numCourses courses you have to take, labeled from 0 to numCourses - 1. You are given an array prerequisites where prerequisites[i] = [ai, bi] indicates that you must take course bi first if you want to take course ai", "icon": "dot", "kind": "page", "label": "Course Schedule II", "pageId": "filesystem:(04-relational)/topological-sort/210_course-schedule-ii.mdx", "route": "/topological-sort/course-schedule-ii" } ], "display": "group", "icon": "workflow", "kind": "group", "label": "Topological Sort", "path": "/topological-sort", "route": "/topological-sort" }, { "children": [ { "badge": "Medium", "description": "You have a graph of n nodes. You are given an integer n and an array edges where edges[i] = [ai, bi] indicates that there is an edge between ai and bi in the graph", "icon": "dot", "kind": "page", "label": "Number of Connected Components in an Undirected Graph", "pageId": "filesystem:(04-relational)/union-find/323_number-of-connected-components-in-an-undirected-graph.mdx", "route": "/union-find/number-of-connected-components-in-an-undirected-graph" }, { "badge": "Medium", "description": "In this problem, a tree is an undirected graph that is connected and has no cycles", "icon": "dot", "kind": "page", "label": "Redundant Connection", "pageId": "filesystem:(04-relational)/union-find/684_redundant-connection.mdx", "route": "/union-find/redundant-connection" } ], "display": "group", "icon": "merge", "kind": "group", "label": "Union-Find", "path": "/union-find", "route": "/union-find" } ], "display": "flat", "kind": "group", "label": "Relational", "path": "/" }, { "children": [ { "children": [ { "badge": "Medium", "description": "Given an array of distinct integers candidates and a target integer target, return a list of all unique combinations of candidates where the chosen numbers sum to target. You may return the combinations in any order", "icon": "dot", "kind": "page", "label": "Combination Sum", "pageId": "filesystem:(05-decision-space)/backtracking/39_combination-sum.mdx", "route": "/backtracking/combination-sum" }, { "badge": "Medium", "description": "Given an array nums of distinct integers, return all the possible permutations. You can return the answer in any order", "icon": "dot", "kind": "page", "label": "Permutations", "pageId": "filesystem:(05-decision-space)/backtracking/46_permutations.mdx", "route": "/backtracking/permutations" }, { "badge": "Medium", "description": "Given an integer array nums of unique elements, return all possible subsets (the power set)", "icon": "dot", "kind": "page", "label": "Subsets", "pageId": "filesystem:(05-decision-space)/backtracking/78_subsets.mdx", "route": "/backtracking/subsets" } ], "display": "group", "icon": "undo-2", "kind": "group", "label": "Backtracking", "path": "/backtracking", "route": "/backtracking" }, { "children": [ { "badge": "Easy", "description": "You are climbing a staircase. It takes n steps to reach the top", "icon": "dot", "kind": "page", "label": "Climbing Stairs", "pageId": "filesystem:(05-decision-space)/1d-dynamic-programming/70_climbing-stairs.mdx", "route": "/1d-dynamic-programming/climbing-stairs" }, { "badge": "Medium", "description": "You are a professional robber planning to rob houses along a street. Each house has a certain amount of money stashed, the only constraint stopping you from robbing each of them is that adjacent houses have security systems connected and it will automatically contact the police if two adjacent houses were broken into on the same night", "icon": "dot", "kind": "page", "label": "House Robber", "pageId": "filesystem:(05-decision-space)/1d-dynamic-programming/198_house-robber.mdx", "route": "/1d-dynamic-programming/house-robber" }, { "badge": "Medium", "description": "You are given an integer array coins representing coins of different denominations and an integer amount representing a total amount of money", "icon": "dot", "kind": "page", "label": "Coin Change", "pageId": "filesystem:(05-decision-space)/1d-dynamic-programming/322_coin-change.mdx", "route": "/1d-dynamic-programming/coin-change" } ], "display": "group", "icon": "columns-3", "kind": "group", "label": "1-D Dynamic Programming", "path": "/1d-dynamic-programming", "route": "/1d-dynamic-programming" }, { "children": [ { "badge": "Medium", "description": "There is a robot on an m x n grid. The robot is initially located at the top-left corner (i.e., grid[0][0]). The robot tries to move to the bottom-right corner (i.e., grid[m - 1][n - 1]). The robot can only move either down or right at any point in time", "icon": "dot", "kind": "page", "label": "Unique Paths", "pageId": "filesystem:(05-decision-space)/multi-d-grid-dp/62_unique-paths.mdx", "route": "/multi-d-grid-dp/unique-paths" }, { "badge": "Medium", "description": "Given a m x n grid filled with non-negative numbers, find a path from top left to bottom right, which minimizes the sum of all numbers along its path", "icon": "dot", "kind": "page", "label": "Minimum Path Sum", "pageId": "filesystem:(05-decision-space)/multi-d-grid-dp/64_minimum-path-sum.mdx", "route": "/multi-d-grid-dp/minimum-path-sum" }, { "badge": "Medium", "description": "Given two strings text1 and text2, return the length of their longest common subsequence. If there is no common subsequence, return 0", "icon": "dot", "kind": "page", "label": "Longest Common Subsequence", "pageId": "filesystem:(05-decision-space)/multi-d-grid-dp/1143_longest-common-subsequence.mdx", "route": "/multi-d-grid-dp/longest-common-subsequence" } ], "display": "group", "icon": "table", "kind": "group", "label": "Multi-D / Grid DP", "path": "/multi-d-grid-dp", "route": "/multi-d-grid-dp" }, { "children": [ { "badge": "Medium", "description": "Given an integer array nums, find the subarray with the largest sum, and return its sum", "icon": "dot", "kind": "page", "label": "Maximum Subarray", "pageId": "filesystem:(05-decision-space)/greedy/53_maximum-subarray.mdx", "route": "/greedy/maximum-subarray" }, { "badge": "Medium", "description": "You are given an integer array nums. You are initially positioned at the array's first index, and each element in the array represents your maximum jump length at that position", "icon": "dot", "kind": "page", "label": "Jump Game", "pageId": "filesystem:(05-decision-space)/greedy/55_jump-game.mdx", "route": "/greedy/jump-game" }, { "badge": "Medium", "description": "There are n gas stations along a circular route, where the amount of gas at the i^th station is gas[i]", "icon": "dot", "kind": "page", "label": "Gas Station", "pageId": "filesystem:(05-decision-space)/greedy/134_gas-station.mdx", "route": "/greedy/gas-station" } ], "display": "group", "icon": "coins", "kind": "group", "label": "Greedy", "path": "/greedy", "route": "/greedy" }, { "children": [ { "badge": "Medium", "description": "Given an array of intervals where intervals[i] = [starti, endi], merge all overlapping intervals, and return an array of the non-overlapping intervals that cover all the intervals in the input", "icon": "dot", "kind": "page", "label": "Merge Intervals", "pageId": "filesystem:(05-decision-space)/intervals/56_merge-intervals.mdx", "route": "/intervals/merge-intervals" }, { "badge": "Medium", "description": "You are given an array of non-overlapping intervals intervals where intervals[i] = [starti, endi] represent the start and the end of the i^th interval and intervals is sorted in ascending order by starti. You are also given an interval newInterval = [start, end] that represents the start and end of another interval", "icon": "dot", "kind": "page", "label": "Insert Interval", "pageId": "filesystem:(05-decision-space)/intervals/57_insert-interval.mdx", "route": "/intervals/insert-interval" }, { "badge": "Medium", "description": "Given an array of intervals intervals where intervals[i] = [starti, endi], return the minimum number of intervals you need to remove to make the rest of the intervals non-overlapping", "icon": "dot", "kind": "page", "label": "Non-overlapping Intervals", "pageId": "filesystem:(05-decision-space)/intervals/435_non-overlapping-intervals.mdx", "route": "/intervals/non-overlapping-intervals" } ], "display": "group", "icon": "calendar-range", "kind": "group", "label": "Intervals", "path": "/intervals", "route": "/intervals" } ], "display": "flat", "kind": "group", "label": "Decision Space", "path": "/" } ], "tabs": [ { "label": "Changelog", "path": "/changelog" }, { "label": "Progress", "path": "/progress" }, { "label": "Appendix", "path": "/appendix" } ], "repoUrl": "https://github.com/prdlk/leetcode" }, "navigationByLocale": {}, "navigationByVersion": {}, "routes": [ { "alternates": [], "collection": "docs", "description": "Structured dependency spine based roadmap for solving DSA Problems on leetcode.", "draft": false, "editUrl": "https://github.com/prdlk/leetcode/edit/main/content/index.mdx", "entryId": "index.mdx", "fallback": false, "hidden": false, "hreflang": [], "id": "filesystem:index.mdx", "indexable": true, "lastModified": "2026-10-05T14:22:28-04:00", "locale": "", "monolingual": false, "path": "/", "published": null, "title": "Introduction", "version": "", "versionAlternates": [] }, { "alternates": [], "collection": "docs", "description": "The result for each state is stored in a list, and each new result is computed from the results before it.", "draft": false, "editUrl": "https://github.com/prdlk/leetcode/edit/main/content/(05-decision-space)/1d-dynamic-programming/index.mdx", "entryId": "(05-decision-space)/1d-dynamic-programming/index.mdx", "fallback": false, "hidden": false, "hreflang": [], "id": "filesystem:(05-decision-space)/1d-dynamic-programming/index.mdx", "indexable": true, "lastModified": "2026-10-05T14:22:28-04:00", "locale": "", "monolingual": false, "path": "/1d-dynamic-programming", "published": null, "title": "1-D Dynamic Programming", "version": "", "versionAlternates": [] }, { "alternates": [], "collection": "docs", "description": "You are climbing a staircase. It takes n steps to reach the top", "draft": false, "editUrl": "https://github.com/prdlk/leetcode/edit/main/content/(05-decision-space)/1d-dynamic-programming/70_climbing-stairs.mdx", "entryId": "(05-decision-space)/1d-dynamic-programming/70_climbing-stairs.mdx", "fallback": false, "hidden": false, "hreflang": [], "id": "filesystem:(05-decision-space)/1d-dynamic-programming/70_climbing-stairs.mdx", "indexable": true, "lastModified": "2026-10-14T15:52:02-04:00", "locale": "", "monolingual": false, "path": "/1d-dynamic-programming/climbing-stairs", "published": null, "title": "70. Climbing Stairs", "version": "", "versionAlternates": [] }, { "alternates": [], "collection": "docs", "description": "You are given an integer array coins representing coins of different denominations and an integer amount representing a total amount of money", "draft": false, "editUrl": "https://github.com/prdlk/leetcode/edit/main/content/(05-decision-space)/1d-dynamic-programming/322_coin-change.mdx", "entryId": "(05-decision-space)/1d-dynamic-programming/322_coin-change.mdx", "fallback": false, "hidden": false, "hreflang": [], "id": "filesystem:(05-decision-space)/1d-dynamic-programming/322_coin-change.mdx", "indexable": true, "lastModified": "2026-10-14T15:52:02-04:00", "locale": "", "monolingual": false, "path": "/1d-dynamic-programming/coin-change", "published": null, "title": "322. Coin Change", "version": "", "versionAlternates": [] }, { "alternates": [], "collection": "docs", "description": "You are a professional robber planning to rob houses along a street. Each house has a certain amount of money stashed, the only constraint stopping you from robbing each of them is that adjacent houses have security systems connected and it will automatically contact the police if two adjacent houses were broken into on the same night", "draft": false, "editUrl": "https://github.com/prdlk/leetcode/edit/main/content/(05-decision-space)/1d-dynamic-programming/198_house-robber.mdx", "entryId": "(05-decision-space)/1d-dynamic-programming/198_house-robber.mdx", "fallback": false, "hidden": false, "hreflang": [], "id": "filesystem:(05-decision-space)/1d-dynamic-programming/198_house-robber.mdx", "indexable": true, "lastModified": "2026-10-14T15:52:02-04:00", "locale": "", "monolingual": false, "path": "/1d-dynamic-programming/house-robber", "published": null, "title": "198. House Robber", "version": "", "versionAlternates": [] }, { "alternates": [], "collection": "docs", "description": "Backtracking is a depth-first search technique that builds a solution step by step and abandons (undoes) a partial choice as soon as it can’t lead to a valid complete solution.", "draft": false, "editUrl": "https://github.com/prdlk/leetcode/edit/main/content/(05-decision-space)/backtracking/index.mdx", "entryId": "(05-decision-space)/backtracking/index.mdx", "fallback": false, "hidden": false, "hreflang": [], "id": "filesystem:(05-decision-space)/backtracking/index.mdx", "indexable": true, "lastModified": "2026-10-05T14:22:28-04:00", "locale": "", "monolingual": false, "path": "/backtracking", "published": null, "title": "Backtracking", "version": "", "versionAlternates": [] }, { "alternates": [], "collection": "docs", "description": "Given an array of distinct integers candidates and a target integer target, return a list of all unique combinations of candidates where the chosen numbers sum to target. You may return the combinations in any order", "draft": false, "editUrl": "https://github.com/prdlk/leetcode/edit/main/content/(05-decision-space)/backtracking/39_combination-sum.mdx", "entryId": "(05-decision-space)/backtracking/39_combination-sum.mdx", "fallback": false, "hidden": false, "hreflang": [], "id": "filesystem:(05-decision-space)/backtracking/39_combination-sum.mdx", "indexable": true, "lastModified": "2026-10-14T15:52:02-04:00", "locale": "", "monolingual": false, "path": "/backtracking/combination-sum", "published": null, "title": "39. Combination Sum", "version": "", "versionAlternates": [] }, { "alternates": [], "collection": "docs", "description": "Given an array nums of distinct integers, return all the possible permutations. You can return the answer in any order", "draft": false, "editUrl": "https://github.com/prdlk/leetcode/edit/main/content/(05-decision-space)/backtracking/46_permutations.mdx", "entryId": "(05-decision-space)/backtracking/46_permutations.mdx", "fallback": false, "hidden": false, "hreflang": [], "id": "filesystem:(05-decision-space)/backtracking/46_permutations.mdx", "indexable": true, "lastModified": "2026-10-14T15:52:02-04:00", "locale": "", "monolingual": false, "path": "/backtracking/permutations", "published": null, "title": "46. Permutations", "version": "", "versionAlternates": [] }, { "alternates": [], "collection": "docs", "description": "Given an integer array nums of unique elements, return all possible subsets (the power set)", "draft": false, "editUrl": "https://github.com/prdlk/leetcode/edit/main/content/(05-decision-space)/backtracking/78_subsets.mdx", "entryId": "(05-decision-space)/backtracking/78_subsets.mdx", "fallback": false, "hidden": false, "hreflang": [], "id": "filesystem:(05-decision-space)/backtracking/78_subsets.mdx", "indexable": true, "lastModified": "2026-10-14T15:52:02-04:00", "locale": "", "monolingual": false, "path": "/backtracking/subsets", "published": null, "title": "78. Subsets", "version": "", "versionAlternates": [] }, { "alternates": [], "collection": "docs", "description": "Half of a sorted range is removed at each step until the target is found.", "draft": false, "editUrl": "https://github.com/prdlk/leetcode/edit/main/content/(01-linear-structures)/binary-search/index.mdx", "entryId": "(01-linear-structures)/binary-search/index.mdx", "fallback": false, "hidden": false, "hreflang": [], "id": "filesystem:(01-linear-structures)/binary-search/index.mdx", "indexable": true, "lastModified": "2026-10-05T14:22:28-04:00", "locale": "", "monolingual": false, "path": "/binary-search", "published": null, "title": "Binary Search", "version": "", "versionAlternates": [] }, { "alternates": [], "collection": "docs", "description": "Each node holds a value that is larger than its left subtree and smaller than its right subtree.", "draft": false, "editUrl": "https://github.com/prdlk/leetcode/edit/main/content/(03-hierarchical)/binary-search-tree/index.mdx", "entryId": "(03-hierarchical)/binary-search-tree/index.mdx", "fallback": false, "hidden": false, "hreflang": [], "id": "filesystem:(03-hierarchical)/binary-search-tree/index.mdx", "indexable": true, "lastModified": "2026-10-05T14:22:28-04:00", "locale": "", "monolingual": false, "path": "/binary-search-tree", "published": null, "title": "Binary Search Tree", "version": "", "versionAlternates": [] }, { "alternates": [], "collection": "docs", "description": "Given the root of a binary search tree, and an integer k, return the k^th smallest value (1-indexed) of all the values of the nodes in the tree", "draft": false, "editUrl": "https://github.com/prdlk/leetcode/edit/main/content/(03-hierarchical)/binary-search-tree/230_kth-smallest-element-in-a-bst.mdx", "entryId": "(03-hierarchical)/binary-search-tree/230_kth-smallest-element-in-a-bst.mdx", "fallback": false, "hidden": false, "hreflang": [], "id": "filesystem:(03-hierarchical)/binary-search-tree/230_kth-smallest-element-in-a-bst.mdx", "indexable": true, "lastModified": "2026-10-14T15:52:02-04:00", "locale": "", "monolingual": false, "path": "/binary-search-tree/kth-smallest-element-in-a-bst", "published": null, "title": "230. Kth Smallest Element in a BST", "version": "", "versionAlternates": [] }, { "alternates": [], "collection": "docs", "description": "Given a binary search tree (BST), find the lowest common ancestor (LCA) node of two given nodes in the BST", "draft": false, "editUrl": "https://github.com/prdlk/leetcode/edit/main/content/(03-hierarchical)/binary-search-tree/235_lowest-common-ancestor-of-a-binary-search-tree.mdx", "entryId": "(03-hierarchical)/binary-search-tree/235_lowest-common-ancestor-of-a-binary-search-tree.mdx", "fallback": false, "hidden": false, "hreflang": [], "id": "filesystem:(03-hierarchical)/binary-search-tree/235_lowest-common-ancestor-of-a-binary-search-tree.mdx", "indexable": true, "lastModified": "2026-10-14T15:52:02-04:00", "locale": "", "monolingual": false, "path": "/binary-search-tree/lowest-common-ancestor-of-a-binary-search-tree", "published": null, "title": "235. Lowest Common Ancestor of a Binary Search Tree", "version": "", "versionAlternates": [] }, { "alternates": [], "collection": "docs", "description": "Given the root of a binary tree, determine if it is a valid binary search tree (BST)", "draft": false, "editUrl": "https://github.com/prdlk/leetcode/edit/main/content/(03-hierarchical)/binary-search-tree/98_validate-binary-search-tree.mdx", "entryId": "(03-hierarchical)/binary-search-tree/98_validate-binary-search-tree.mdx", "fallback": false, "hidden": false, "hreflang": [], "id": "filesystem:(03-hierarchical)/binary-search-tree/98_validate-binary-search-tree.mdx", "indexable": true, "lastModified": "2026-10-14T15:52:02-04:00", "locale": "", "monolingual": false, "path": "/binary-search-tree/validate-binary-search-tree", "published": null, "title": "98. Validate Binary Search Tree", "version": "", "versionAlternates": [] }, { "alternates": [], "collection": "docs", "description": "Given an array of integers nums which is sorted in ascending order, and an integer target, write a function to search target in nums. If target exists, then return its index. Otherwise, return -1", "draft": false, "editUrl": "https://github.com/prdlk/leetcode/edit/main/content/(01-linear-structures)/binary-search/704_binary-search.mdx", "entryId": "(01-linear-structures)/binary-search/704_binary-search.mdx", "fallback": false, "hidden": false, "hreflang": [], "id": "filesystem:(01-linear-structures)/binary-search/704_binary-search.mdx", "indexable": true, "lastModified": "2026-10-14T15:52:02-04:00", "locale": "", "monolingual": false, "path": "/binary-search/binary-search", "published": null, "title": "704. Binary Search", "version": "", "versionAlternates": [] }, { "alternates": [], "collection": "docs", "description": "Given an array of integers nums sorted in non-decreasing order, find the starting and ending position of a given target value", "draft": false, "editUrl": "https://github.com/prdlk/leetcode/edit/main/content/(01-linear-structures)/binary-search/34_find-first-and-last-position-of-element-in-sorted-array.mdx", "entryId": "(01-linear-structures)/binary-search/34_find-first-and-last-position-of-element-in-sorted-array.mdx", "fallback": false, "hidden": false, "hreflang": [], "id": "filesystem:(01-linear-structures)/binary-search/34_find-first-and-last-position-of-element-in-sorted-array.mdx", "indexable": true, "lastModified": "2026-10-14T15:52:02-04:00", "locale": "", "monolingual": false, "path": "/binary-search/find-first-and-last-position-of-element-in-sorted-array", "published": null, "title": "34. Find First and Last Position of Element in Sorted Array", "version": "", "versionAlternates": [] }, { "alternates": [], "collection": "docs", "description": "Suppose an array of length n sorted in ascending order is rotated between 1 and n times. For example, the array nums = [0,1,2,4,5,6,7] might become:", "draft": false, "editUrl": "https://github.com/prdlk/leetcode/edit/main/content/(01-linear-structures)/binary-search/153_find-minimum-in-rotated-sorted-array.mdx", "entryId": "(01-linear-structures)/binary-search/153_find-minimum-in-rotated-sorted-array.mdx", "fallback": false, "hidden": false, "hreflang": [], "id": "filesystem:(01-linear-structures)/binary-search/153_find-minimum-in-rotated-sorted-array.mdx", "indexable": true, "lastModified": "2026-10-14T15:52:02-04:00", "locale": "", "monolingual": false, "path": "/binary-search/find-minimum-in-rotated-sorted-array", "published": null, "title": "153. Find Minimum in Rotated Sorted Array", "version": "", "versionAlternates": [] }, { "alternates": [], "collection": "docs", "description": "A peak element is an element that is strictly greater than its neighbors", "draft": false, "editUrl": "https://github.com/prdlk/leetcode/edit/main/content/(01-linear-structures)/binary-search/162_find-peak-element.mdx", "entryId": "(01-linear-structures)/binary-search/162_find-peak-element.mdx", "fallback": false, "hidden": false, "hreflang": [], "id": "filesystem:(01-linear-structures)/binary-search/162_find-peak-element.mdx", "indexable": true, "lastModified": "2026-10-14T15:52:02-04:00", "locale": "", "monolingual": false, "path": "/binary-search/find-peak-element", "published": null, "title": "162. Find Peak Element", "version": "", "versionAlternates": [] }, { "alternates": [], "collection": "docs", "description": "Koko loves to eat bananas. There are n piles of bananas, the i^th pile has piles[i] bananas. The guards have gone and will come back in h hours", "draft": false, "editUrl": "https://github.com/prdlk/leetcode/edit/main/content/(01-linear-structures)/binary-search/875_koko-eating-bananas.mdx", "entryId": "(01-linear-structures)/binary-search/875_koko-eating-bananas.mdx", "fallback": false, "hidden": false, "hreflang": [], "id": "filesystem:(01-linear-structures)/binary-search/875_koko-eating-bananas.mdx", "indexable": true, "lastModified": "2026-10-14T15:52:02-04:00", "locale": "", "monolingual": false, "path": "/binary-search/koko-eating-bananas", "published": null, "title": "875. Koko Eating Bananas", "version": "", "versionAlternates": [] }, { "alternates": [], "collection": "docs", "description": "Given two sorted arrays nums1 and nums2 of size m and n respectively, return the median of the two sorted arrays", "draft": false, "editUrl": "https://github.com/prdlk/leetcode/edit/main/content/(01-linear-structures)/binary-search/4_median-of-two-sorted-arrays.mdx", "entryId": "(01-linear-structures)/binary-search/4_median-of-two-sorted-arrays.mdx", "fallback": false, "hidden": false, "hreflang": [], "id": "filesystem:(01-linear-structures)/binary-search/4_median-of-two-sorted-arrays.mdx", "indexable": true, "lastModified": "2026-10-14T15:52:02-04:00", "locale": "", "monolingual": false, "path": "/binary-search/median-of-two-sorted-arrays", "published": null, "title": "4. Median of Two Sorted Arrays", "version": "", "versionAlternates": [] }, { "alternates": [], "collection": "docs", "description": "You are given an m x n integer matrix matrix with the following two properties:", "draft": false, "editUrl": "https://github.com/prdlk/leetcode/edit/main/content/(01-linear-structures)/binary-search/74_search-a-2d-matrix.mdx", "entryId": "(01-linear-structures)/binary-search/74_search-a-2d-matrix.mdx", "fallback": false, "hidden": false, "hreflang": [], "id": "filesystem:(01-linear-structures)/binary-search/74_search-a-2d-matrix.mdx", "indexable": true, "lastModified": "2026-10-14T15:52:02-04:00", "locale": "", "monolingual": false, "path": "/binary-search/search-a-2d-matrix", "published": null, "title": "74. Search a 2D Matrix", "version": "", "versionAlternates": [] }, { "alternates": [], "collection": "docs", "description": "There is an integer array nums sorted in ascending order (with distinct values)", "draft": false, "editUrl": "https://github.com/prdlk/leetcode/edit/main/content/(01-linear-structures)/binary-search/33_search-in-rotated-sorted-array.mdx", "entryId": "(01-linear-structures)/binary-search/33_search-in-rotated-sorted-array.mdx", "fallback": false, "hidden": false, "hreflang": [], "id": "filesystem:(01-linear-structures)/binary-search/33_search-in-rotated-sorted-array.mdx", "indexable": true, "lastModified": "2026-10-14T15:52:02-04:00", "locale": "", "monolingual": false, "path": "/binary-search/search-in-rotated-sorted-array", "published": null, "title": "33. Search in Rotated Sorted Array", "version": "", "versionAlternates": [] }, { "alternates": [], "collection": "docs", "description": "Given a sorted array of distinct integers and a target value, return the index if the target is found. If not, return the index where it would be if it were inserted in order", "draft": false, "editUrl": "https://github.com/prdlk/leetcode/edit/main/content/(01-linear-structures)/binary-search/35_search-insert-position.mdx", "entryId": "(01-linear-structures)/binary-search/35_search-insert-position.mdx", "fallback": false, "hidden": false, "hreflang": [], "id": "filesystem:(01-linear-structures)/binary-search/35_search-insert-position.mdx", "indexable": true, "lastModified": "2026-10-14T15:52:02-04:00", "locale": "", "monolingual": false, "path": "/binary-search/search-insert-position", "published": null, "title": "35. Search Insert Position", "version": "", "versionAlternates": [] }, { "alternates": [], "collection": "docs", "description": "Nodes are visited in order of distance from the start, which gives the shortest path in an unweighted graph.", "draft": false, "editUrl": "https://github.com/prdlk/leetcode/edit/main/content/(04-relational)/graph-bfs/index.mdx", "entryId": "(04-relational)/graph-bfs/index.mdx", "fallback": false, "hidden": false, "hreflang": [], "id": "filesystem:(04-relational)/graph-bfs/index.mdx", "indexable": true, "lastModified": "2026-10-05T14:22:28-04:00", "locale": "", "monolingual": false, "path": "/graph-bfs", "published": null, "title": "Graph BFS", "version": "", "versionAlternates": [] }, { "alternates": [], "collection": "docs", "description": "You are given an m x n grid where each cell can have one of three values:", "draft": false, "editUrl": "https://github.com/prdlk/leetcode/edit/main/content/(04-relational)/graph-bfs/994_rotting-oranges.mdx", "entryId": "(04-relational)/graph-bfs/994_rotting-oranges.mdx", "fallback": false, "hidden": false, "hreflang": [], "id": "filesystem:(04-relational)/graph-bfs/994_rotting-oranges.mdx", "indexable": true, "lastModified": "2026-10-14T15:52:02-04:00", "locale": "", "monolingual": false, "path": "/graph-bfs/rotting-oranges", "published": null, "title": "994. Rotting Oranges", "version": "", "versionAlternates": [] }, { "alternates": [], "collection": "docs", "description": "A transformation sequence from word beginWord to word endWord using a dictionary wordList is a sequence of words beginWord -> s1 -> s2 -> ... -> sk such that:", "draft": false, "editUrl": "https://github.com/prdlk/leetcode/edit/main/content/(04-relational)/graph-bfs/127_word-ladder.mdx", "entryId": "(04-relational)/graph-bfs/127_word-ladder.mdx", "fallback": false, "hidden": false, "hreflang": [], "id": "filesystem:(04-relational)/graph-bfs/127_word-ladder.mdx", "indexable": true, "lastModified": "2026-10-14T15:52:02-04:00", "locale": "", "monolingual": false, "path": "/graph-bfs/word-ladder", "published": null, "title": "127. Word Ladder", "version": "", "versionAlternates": [] }, { "alternates": [], "collection": "docs", "description": "Each edge is followed to its end, and a visited set prevents a repeat visit.", "draft": false, "editUrl": "https://github.com/prdlk/leetcode/edit/main/content/(04-relational)/graph-dfs/index.mdx", "entryId": "(04-relational)/graph-dfs/index.mdx", "fallback": false, "hidden": false, "hreflang": [], "id": "filesystem:(04-relational)/graph-dfs/index.mdx", "indexable": true, "lastModified": "2026-10-05T14:22:28-04:00", "locale": "", "monolingual": false, "path": "/graph-dfs", "published": null, "title": "Graph DFS", "version": "", "versionAlternates": [] }, { "alternates": [], "collection": "docs", "description": "Given a reference of a node in a connected undirected graph", "draft": false, "editUrl": "https://github.com/prdlk/leetcode/edit/main/content/(04-relational)/graph-dfs/133_clone-graph.mdx", "entryId": "(04-relational)/graph-dfs/133_clone-graph.mdx", "fallback": false, "hidden": false, "hreflang": [], "id": "filesystem:(04-relational)/graph-dfs/133_clone-graph.mdx", "indexable": true, "lastModified": "2026-10-14T15:52:02-04:00", "locale": "", "monolingual": false, "path": "/graph-dfs/clone-graph", "published": null, "title": "133. Clone Graph", "version": "", "versionAlternates": [] }, { "alternates": [], "collection": "docs", "description": "Given an m x n 2D binary grid grid which represents a map of '1's (land) and '0's (water), return the number of islands", "draft": false, "editUrl": "https://github.com/prdlk/leetcode/edit/main/content/(04-relational)/graph-dfs/200_number-of-islands.mdx", "entryId": "(04-relational)/graph-dfs/200_number-of-islands.mdx", "fallback": false, "hidden": false, "hreflang": [], "id": "filesystem:(04-relational)/graph-dfs/200_number-of-islands.mdx", "indexable": true, "lastModified": "2026-10-14T15:52:02-04:00", "locale": "", "monolingual": false, "path": "/graph-dfs/number-of-islands", "published": null, "title": "200. Number of Islands", "version": "", "versionAlternates": [] }, { "alternates": [], "collection": "docs", "description": "There is an m x n rectangular island that borders both the Pacific Ocean and Atlantic Ocean. The Pacific Ocean touches the island's left and top edges, and the Atlantic Ocean touches the island's right and bottom edges", "draft": false, "editUrl": "https://github.com/prdlk/leetcode/edit/main/content/(04-relational)/graph-dfs/417_pacific-atlantic-water-flow.mdx", "entryId": "(04-relational)/graph-dfs/417_pacific-atlantic-water-flow.mdx", "fallback": false, "hidden": false, "hreflang": [], "id": "filesystem:(04-relational)/graph-dfs/417_pacific-atlantic-water-flow.mdx", "indexable": true, "lastModified": "2026-10-14T15:52:02-04:00", "locale": "", "monolingual": false, "path": "/graph-dfs/pacific-atlantic-water-flow", "published": null, "title": "417. Pacific Atlantic Water Flow", "version": "", "versionAlternates": [] }, { "alternates": [], "collection": "docs", "description": "The best local choice is made at each step and is not changed later.", "draft": false, "editUrl": "https://github.com/prdlk/leetcode/edit/main/content/(05-decision-space)/greedy/index.mdx", "entryId": "(05-decision-space)/greedy/index.mdx", "fallback": false, "hidden": false, "hreflang": [], "id": "filesystem:(05-decision-space)/greedy/index.mdx", "indexable": true, "lastModified": "2026-10-05T14:22:28-04:00", "locale": "", "monolingual": false, "path": "/greedy", "published": null, "title": "Greedy", "version": "", "versionAlternates": [] }, { "alternates": [], "collection": "docs", "description": "There are n gas stations along a circular route, where the amount of gas at the i^th station is gas[i]", "draft": false, "editUrl": "https://github.com/prdlk/leetcode/edit/main/content/(05-decision-space)/greedy/134_gas-station.mdx", "entryId": "(05-decision-space)/greedy/134_gas-station.mdx", "fallback": false, "hidden": false, "hreflang": [], "id": "filesystem:(05-decision-space)/greedy/134_gas-station.mdx", "indexable": true, "lastModified": "2026-10-14T15:52:02-04:00", "locale": "", "monolingual": false, "path": "/greedy/gas-station", "published": null, "title": "134. Gas Station", "version": "", "versionAlternates": [] }, { "alternates": [], "collection": "docs", "description": "You are given an integer array nums. You are initially positioned at the array's first index, and each element in the array represents your maximum jump length at that position", "draft": false, "editUrl": "https://github.com/prdlk/leetcode/edit/main/content/(05-decision-space)/greedy/55_jump-game.mdx", "entryId": "(05-decision-space)/greedy/55_jump-game.mdx", "fallback": false, "hidden": false, "hreflang": [], "id": "filesystem:(05-decision-space)/greedy/55_jump-game.mdx", "indexable": true, "lastModified": "2026-10-14T15:52:02-04:00", "locale": "", "monolingual": false, "path": "/greedy/jump-game", "published": null, "title": "55. Jump Game", "version": "", "versionAlternates": [] }, { "alternates": [], "collection": "docs", "description": "Given an integer array nums, find the subarray with the largest sum, and return its sum", "draft": false, "editUrl": "https://github.com/prdlk/leetcode/edit/main/content/(05-decision-space)/greedy/53_maximum-subarray.mdx", "entryId": "(05-decision-space)/greedy/53_maximum-subarray.mdx", "fallback": false, "hidden": false, "hreflang": [], "id": "filesystem:(05-decision-space)/greedy/53_maximum-subarray.mdx", "indexable": true, "lastModified": "2026-10-14T15:52:02-04:00", "locale": "", "monolingual": false, "path": "/greedy/maximum-subarray", "published": null, "title": "53. Maximum Subarray", "version": "", "versionAlternates": [] }, { "alternates": [], "collection": "docs", "description": "A key maps to a value in constant time, which removes the need for a full scan.", "draft": false, "editUrl": "https://github.com/prdlk/leetcode/edit/main/content/(01-linear-structures)/hash-table/index.mdx", "entryId": "(01-linear-structures)/hash-table/index.mdx", "fallback": false, "hidden": false, "hreflang": [], "id": "filesystem:(01-linear-structures)/hash-table/index.mdx", "indexable": true, "lastModified": "2026-10-05T15:47:02-04:00", "locale": "", "monolingual": false, "path": "/hash-table", "published": null, "title": "Hash Table", "version": "", "versionAlternates": [] }, { "alternates": [], "collection": "docs", "description": "A pangram is a sentence where every letter of the English alphabet appears at least once", "draft": false, "editUrl": "https://github.com/prdlk/leetcode/edit/main/content/(01-linear-structures)/hash-table/1832_check-if-the-sentence-is-pangram.mdx", "entryId": "(01-linear-structures)/hash-table/1832_check-if-the-sentence-is-pangram.mdx", "fallback": false, "hidden": false, "hreflang": [], "id": "filesystem:(01-linear-structures)/hash-table/1832_check-if-the-sentence-is-pangram.mdx", "indexable": true, "lastModified": "2026-10-14T15:52:02-04:00", "locale": "", "monolingual": false, "path": "/hash-table/check-if-the-sentence-is-pangram", "published": null, "title": "1832. Check if the Sentence Is Pangram", "version": "", "versionAlternates": [] }, { "alternates": [], "collection": "docs", "description": "Given an integer array nums, return true if any value appears at least twice in the array, and return false if every element is distinct", "draft": false, "editUrl": "https://github.com/prdlk/leetcode/edit/main/content/(01-linear-structures)/hash-table/217_contains-duplicate.mdx", "entryId": "(01-linear-structures)/hash-table/217_contains-duplicate.mdx", "fallback": false, "hidden": false, "hreflang": [], "id": "filesystem:(01-linear-structures)/hash-table/217_contains-duplicate.mdx", "indexable": true, "lastModified": "2026-10-14T15:52:02-04:00", "locale": "", "monolingual": false, "path": "/hash-table/contains-duplicate", "published": null, "title": "217. Contains Duplicate", "version": "", "versionAlternates": [] }, { "alternates": [], "collection": "docs", "description": "Given a string s, find the first non-repeating character in it and return its index. If it does not exist, return -1", "draft": false, "editUrl": "https://github.com/prdlk/leetcode/edit/main/content/(01-linear-structures)/hash-table/387_first-unique-character-in-a-string.mdx", "entryId": "(01-linear-structures)/hash-table/387_first-unique-character-in-a-string.mdx", "fallback": false, "hidden": false, "hreflang": [], "id": "filesystem:(01-linear-structures)/hash-table/387_first-unique-character-in-a-string.mdx", "indexable": true, "lastModified": "2026-10-14T15:52:02-04:00", "locale": "", "monolingual": false, "path": "/hash-table/first-unique-character-in-a-string", "published": null, "title": "387. First Unique Character in a String", "version": "", "versionAlternates": [] }, { "alternates": [], "collection": "docs", "description": "Given an array of strings strs, group the anagrams together. You can return the answer in any order", "draft": false, "editUrl": "https://github.com/prdlk/leetcode/edit/main/content/(01-linear-structures)/hash-table/49_group-anagrams.mdx", "entryId": "(01-linear-structures)/hash-table/49_group-anagrams.mdx", "fallback": false, "hidden": false, "hreflang": [], "id": "filesystem:(01-linear-structures)/hash-table/49_group-anagrams.mdx", "indexable": true, "lastModified": "2026-10-14T15:52:02-04:00", "locale": "", "monolingual": false, "path": "/hash-table/group-anagrams", "published": null, "title": "49. Group Anagrams", "version": "", "versionAlternates": [] }, { "alternates": [], "collection": "docs", "description": "Given two strings s and t, determine if they are isomorphic", "draft": false, "editUrl": "https://github.com/prdlk/leetcode/edit/main/content/(01-linear-structures)/hash-table/205_isomorphic-strings.mdx", "entryId": "(01-linear-structures)/hash-table/205_isomorphic-strings.mdx", "fallback": false, "hidden": false, "hreflang": [], "id": "filesystem:(01-linear-structures)/hash-table/205_isomorphic-strings.mdx", "indexable": true, "lastModified": "2026-10-14T15:52:02-04:00", "locale": "", "monolingual": false, "path": "/hash-table/isomorphic-strings", "published": null, "title": "205. Isomorphic Strings", "version": "", "versionAlternates": [] }, { "alternates": [], "collection": "docs", "description": "Given an unsorted array of integers nums, return the length of the longest consecutive elements sequence", "draft": false, "editUrl": "https://github.com/prdlk/leetcode/edit/main/content/(01-linear-structures)/hash-table/128_longest-consecutive-sequence.mdx", "entryId": "(01-linear-structures)/hash-table/128_longest-consecutive-sequence.mdx", "fallback": false, "hidden": false, "hreflang": [], "id": "filesystem:(01-linear-structures)/hash-table/128_longest-consecutive-sequence.mdx", "indexable": true, "lastModified": "2026-10-14T15:52:02-04:00", "locale": "", "monolingual": false, "path": "/hash-table/longest-consecutive-sequence", "published": null, "title": "128. Longest Consecutive Sequence", "version": "", "versionAlternates": [] }, { "alternates": [], "collection": "docs", "description": "Given a string s, sort it in decreasing order based on the frequency of the characters. The frequency of a character is the number of times it appears in the string", "draft": false, "editUrl": "https://github.com/prdlk/leetcode/edit/main/content/(01-linear-structures)/hash-table/451_sort-characters-by-frequency.mdx", "entryId": "(01-linear-structures)/hash-table/451_sort-characters-by-frequency.mdx", "fallback": false, "hidden": false, "hreflang": [], "id": "filesystem:(01-linear-structures)/hash-table/451_sort-characters-by-frequency.mdx", "indexable": true, "lastModified": "2026-10-14T15:52:02-04:00", "locale": "", "monolingual": false, "path": "/hash-table/sort-characters-by-frequency", "published": null, "title": "451. Sort Characters By Frequency", "version": "", "versionAlternates": [] }, { "alternates": [], "collection": "docs", "description": "Given an integer array nums and an integer k, return the k most frequent elements. You may return the answer in any order", "draft": false, "editUrl": "https://github.com/prdlk/leetcode/edit/main/content/(01-linear-structures)/hash-table/347_top-k-frequent-elements.mdx", "entryId": "(01-linear-structures)/hash-table/347_top-k-frequent-elements.mdx", "fallback": false, "hidden": false, "hreflang": [], "id": "filesystem:(01-linear-structures)/hash-table/347_top-k-frequent-elements.mdx", "indexable": true, "lastModified": "2026-10-14T15:52:02-04:00", "locale": "", "monolingual": false, "path": "/hash-table/top-k-frequent-elements", "published": null, "title": "347. Top K Frequent Elements", "version": "", "versionAlternates": [] }, { "alternates": [], "collection": "docs", "description": "You are given an array of integers nums and an integer target, return indices of the two numbers such that they add up to target", "draft": false, "editUrl": "https://github.com/prdlk/leetcode/edit/main/content/(01-linear-structures)/hash-table/1_two-sum.mdx", "entryId": "(01-linear-structures)/hash-table/1_two-sum.mdx", "fallback": false, "hidden": false, "hreflang": [], "id": "filesystem:(01-linear-structures)/hash-table/1_two-sum.mdx", "indexable": true, "lastModified": "2026-10-14T15:52:02-04:00", "locale": "", "monolingual": false, "path": "/hash-table/two-sum", "published": null, "title": "1. Two Sum", "version": "", "versionAlternates": [] }, { "alternates": [], "collection": "docs", "description": "Given two strings s and t, return true if t is an anagram of s, and false otherwise", "draft": false, "editUrl": "https://github.com/prdlk/leetcode/edit/main/content/(01-linear-structures)/hash-table/242_valid-anagram.mdx", "entryId": "(01-linear-structures)/hash-table/242_valid-anagram.mdx", "fallback": false, "hidden": false, "hreflang": [], "id": "filesystem:(01-linear-structures)/hash-table/242_valid-anagram.mdx", "indexable": true, "lastModified": "2026-10-14T15:52:02-04:00", "locale": "", "monolingual": false, "path": "/hash-table/valid-anagram", "published": null, "title": "242. Valid Anagram", "version": "", "versionAlternates": [] }, { "alternates": [], "collection": "docs", "description": "Given a pattern and a string s, find if s follows the same pattern", "draft": false, "editUrl": "https://github.com/prdlk/leetcode/edit/main/content/(01-linear-structures)/hash-table/290_word-pattern.mdx", "entryId": "(01-linear-structures)/hash-table/290_word-pattern.mdx", "fallback": false, "hidden": false, "hreflang": [], "id": "filesystem:(01-linear-structures)/hash-table/290_word-pattern.mdx", "indexable": true, "lastModified": "2026-10-14T15:52:02-04:00", "locale": "", "monolingual": false, "path": "/hash-table/word-pattern", "published": null, "title": "290. Word Pattern", "version": "", "versionAlternates": [] }, { "alternates": [], "collection": "docs", "description": "The largest or smallest item is always at the top, and it is removed in logarithmic time.", "draft": false, "editUrl": "https://github.com/prdlk/leetcode/edit/main/content/(03-hierarchical)/heap-priority-queue/index.mdx", "entryId": "(03-hierarchical)/heap-priority-queue/index.mdx", "fallback": false, "hidden": false, "hreflang": [], "id": "filesystem:(03-hierarchical)/heap-priority-queue/index.mdx", "indexable": true, "lastModified": "2026-10-05T14:22:28-04:00", "locale": "", "monolingual": false, "path": "/heap-priority-queue", "published": null, "title": "Heap / Priority Queue", "version": "", "versionAlternates": [] }, { "alternates": [], "collection": "docs", "description": "Given an array of points where points[i] = [xi, yi] represents a point on the X-Y plane and an integer k, return the k closest points to the origin (0, 0)", "draft": false, "editUrl": "https://github.com/prdlk/leetcode/edit/main/content/(03-hierarchical)/heap-priority-queue/973_k-closest-points-to-origin.mdx", "entryId": "(03-hierarchical)/heap-priority-queue/973_k-closest-points-to-origin.mdx", "fallback": false, "hidden": false, "hreflang": [], "id": "filesystem:(03-hierarchical)/heap-priority-queue/973_k-closest-points-to-origin.mdx", "indexable": true, "lastModified": "2026-10-14T15:52:02-04:00", "locale": "", "monolingual": false, "path": "/heap-priority-queue/k-closest-points-to-origin", "published": null, "title": "973. K Closest Points to Origin", "version": "", "versionAlternates": [] }, { "alternates": [], "collection": "docs", "description": "Given an integer array nums and an integer k, return the k^th largest element in the array", "draft": false, "editUrl": "https://github.com/prdlk/leetcode/edit/main/content/(03-hierarchical)/heap-priority-queue/215_kth-largest-element-in-an-array.mdx", "entryId": "(03-hierarchical)/heap-priority-queue/215_kth-largest-element-in-an-array.mdx", "fallback": false, "hidden": false, "hreflang": [], "id": "filesystem:(03-hierarchical)/heap-priority-queue/215_kth-largest-element-in-an-array.mdx", "indexable": true, "lastModified": "2026-10-14T15:52:02-04:00", "locale": "", "monolingual": false, "path": "/heap-priority-queue/kth-largest-element-in-an-array", "published": null, "title": "215. Kth Largest Element in an Array", "version": "", "versionAlternates": [] }, { "alternates": [], "collection": "docs", "description": "You are given an array of k linked-lists lists, each linked-list is sorted in ascending order", "draft": false, "editUrl": "https://github.com/prdlk/leetcode/edit/main/content/(03-hierarchical)/heap-priority-queue/23_merge-k-sorted-lists.mdx", "entryId": "(03-hierarchical)/heap-priority-queue/23_merge-k-sorted-lists.mdx", "fallback": false, "hidden": false, "hreflang": [], "id": "filesystem:(03-hierarchical)/heap-priority-queue/23_merge-k-sorted-lists.mdx", "indexable": true, "lastModified": "2026-10-14T15:52:02-04:00", "locale": "", "monolingual": false, "path": "/heap-priority-queue/merge-k-sorted-lists", "published": null, "title": "23. Merge k Sorted Lists", "version": "", "versionAlternates": [] }, { "alternates": [], "collection": "docs", "description": "Two structures are combined, such as a hash map and a linked list, to get the best properties of each.", "draft": false, "editUrl": "https://github.com/prdlk/leetcode/edit/main/content/(02-nodal-grid)/hybrid-structures/index.mdx", "entryId": "(02-nodal-grid)/hybrid-structures/index.mdx", "fallback": false, "hidden": false, "hreflang": [], "id": "filesystem:(02-nodal-grid)/hybrid-structures/index.mdx", "indexable": true, "lastModified": "2026-10-05T14:22:28-04:00", "locale": "", "monolingual": false, "path": "/hybrid-structures", "published": null, "title": "Hybrid Structures", "version": "", "versionAlternates": [] }, { "alternates": [], "collection": "docs", "description": "You are given two non-empty linked lists representing two non-negative integers. The digits are stored in reverse order, and each of their nodes contains a single digit. Add the two numbers and return the sum as a linked list", "draft": false, "editUrl": "https://github.com/prdlk/leetcode/edit/main/content/(02-nodal-grid)/hybrid-structures/2_add-two-numbers.mdx", "entryId": "(02-nodal-grid)/hybrid-structures/2_add-two-numbers.mdx", "fallback": false, "hidden": false, "hreflang": [], "id": "filesystem:(02-nodal-grid)/hybrid-structures/2_add-two-numbers.mdx", "indexable": true, "lastModified": "2026-10-14T15:52:02-04:00", "locale": "", "monolingual": false, "path": "/hybrid-structures/add-two-numbers", "published": null, "title": "2. Add Two Numbers", "version": "", "versionAlternates": [] }, { "alternates": [], "collection": "docs", "description": "Implement the RandomizedSet class:", "draft": false, "editUrl": "https://github.com/prdlk/leetcode/edit/main/content/(02-nodal-grid)/hybrid-structures/380_insert-delete-getrandom-o1.mdx", "entryId": "(02-nodal-grid)/hybrid-structures/380_insert-delete-getrandom-o1.mdx", "fallback": false, "hidden": false, "hreflang": [], "id": "filesystem:(02-nodal-grid)/hybrid-structures/380_insert-delete-getrandom-o1.mdx", "indexable": true, "lastModified": "2026-10-14T15:52:02-04:00", "locale": "", "monolingual": false, "path": "/hybrid-structures/insert-delete-getrandom-o1", "published": null, "title": "380. Insert Delete GetRandom O(1)", "version": "", "versionAlternates": [] }, { "alternates": [], "collection": "docs", "description": "Design a data structure that follows the constraints of a Least Recently Used (LRU) cache", "draft": false, "editUrl": "https://github.com/prdlk/leetcode/edit/main/content/(02-nodal-grid)/hybrid-structures/146_lru-cache.mdx", "entryId": "(02-nodal-grid)/hybrid-structures/146_lru-cache.mdx", "fallback": false, "hidden": false, "hreflang": [], "id": "filesystem:(02-nodal-grid)/hybrid-structures/146_lru-cache.mdx", "indexable": true, "lastModified": "2026-10-14T15:52:02-04:00", "locale": "", "monolingual": false, "path": "/hybrid-structures/lru-cache", "published": null, "title": "146. LRU Cache", "version": "", "versionAlternates": [] }, { "alternates": [], "collection": "docs", "description": "Ranges with a start and an end are sorted, and then merged, counted, or scheduled.", "draft": false, "editUrl": "https://github.com/prdlk/leetcode/edit/main/content/(05-decision-space)/intervals/index.mdx", "entryId": "(05-decision-space)/intervals/index.mdx", "fallback": false, "hidden": false, "hreflang": [], "id": "filesystem:(05-decision-space)/intervals/index.mdx", "indexable": true, "lastModified": "2026-10-05T14:22:28-04:00", "locale": "", "monolingual": false, "path": "/intervals", "published": null, "title": "Intervals", "version": "", "versionAlternates": [] }, { "alternates": [], "collection": "docs", "description": "You are given an array of non-overlapping intervals intervals where intervals[i] = [starti, endi] represent the start and the end of the i^th interval and intervals is sorted in ascending order by starti. You are also given an interval newInterval = [start, end] that represents the start and end of another interval", "draft": false, "editUrl": "https://github.com/prdlk/leetcode/edit/main/content/(05-decision-space)/intervals/57_insert-interval.mdx", "entryId": "(05-decision-space)/intervals/57_insert-interval.mdx", "fallback": false, "hidden": false, "hreflang": [], "id": "filesystem:(05-decision-space)/intervals/57_insert-interval.mdx", "indexable": true, "lastModified": "2026-10-14T15:52:02-04:00", "locale": "", "monolingual": false, "path": "/intervals/insert-interval", "published": null, "title": "57. Insert Interval", "version": "", "versionAlternates": [] }, { "alternates": [], "collection": "docs", "description": "Given an array of intervals where intervals[i] = [starti, endi], merge all overlapping intervals, and return an array of the non-overlapping intervals that cover all the intervals in the input", "draft": false, "editUrl": "https://github.com/prdlk/leetcode/edit/main/content/(05-decision-space)/intervals/56_merge-intervals.mdx", "entryId": "(05-decision-space)/intervals/56_merge-intervals.mdx", "fallback": false, "hidden": false, "hreflang": [], "id": "filesystem:(05-decision-space)/intervals/56_merge-intervals.mdx", "indexable": true, "lastModified": "2026-10-14T15:52:02-04:00", "locale": "", "monolingual": false, "path": "/intervals/merge-intervals", "published": null, "title": "56. Merge Intervals", "version": "", "versionAlternates": [] }, { "alternates": [], "collection": "docs", "description": "Given an array of intervals intervals where intervals[i] = [starti, endi], return the minimum number of intervals you need to remove to make the rest of the intervals non-overlapping", "draft": false, "editUrl": "https://github.com/prdlk/leetcode/edit/main/content/(05-decision-space)/intervals/435_non-overlapping-intervals.mdx", "entryId": "(05-decision-space)/intervals/435_non-overlapping-intervals.mdx", "fallback": false, "hidden": false, "hreflang": [], "id": "filesystem:(05-decision-space)/intervals/435_non-overlapping-intervals.mdx", "indexable": true, "lastModified": "2026-10-14T15:52:02-04:00", "locale": "", "monolingual": false, "path": "/intervals/non-overlapping-intervals", "published": null, "title": "435. Non-overlapping Intervals", "version": "", "versionAlternates": [] }, { "alternates": [], "collection": "docs", "description": "Coding problems rarely tell you which algorithm to use, but the wording usually leaks it. \"K-th largest\" hints at a heap. \"Shortest path\" in an unweighted graph hints at BFS.", "draft": false, "editUrl": "https://github.com/prdlk/leetcode/edit/main/content/keywords.mdx", "entryId": "keywords.mdx", "fallback": false, "hidden": false, "hreflang": [], "id": "filesystem:keywords.mdx", "indexable": true, "lastModified": "2026-10-05T14:22:28-04:00", "locale": "", "monolingual": false, "path": "/keywords", "published": null, "title": "Keywords", "version": "", "versionAlternates": [] }, { "alternates": [], "collection": "docs", "description": "Each node points to the next node, and the pointers give the path through the data.", "draft": false, "editUrl": "https://github.com/prdlk/leetcode/edit/main/content/(02-nodal-grid)/linked-list/index.mdx", "entryId": "(02-nodal-grid)/linked-list/index.mdx", "fallback": false, "hidden": false, "hreflang": [], "id": "filesystem:(02-nodal-grid)/linked-list/index.mdx", "indexable": true, "lastModified": "2026-10-05T14:22:28-04:00", "locale": "", "monolingual": false, "path": "/linked-list", "published": null, "title": "Linked List", "version": "", "versionAlternates": [] }, { "alternates": [], "collection": "docs", "description": "Given head, the head of a linked list, determine if the linked list has a cycle in it", "draft": false, "editUrl": "https://github.com/prdlk/leetcode/edit/main/content/(02-nodal-grid)/linked-list/141_linked-list-cycle.mdx", "entryId": "(02-nodal-grid)/linked-list/141_linked-list-cycle.mdx", "fallback": false, "hidden": false, "hreflang": [], "id": "filesystem:(02-nodal-grid)/linked-list/141_linked-list-cycle.mdx", "indexable": true, "lastModified": "2026-10-14T15:52:02-04:00", "locale": "", "monolingual": false, "path": "/linked-list/linked-list-cycle", "published": null, "title": "141. Linked List Cycle", "version": "", "versionAlternates": [] }, { "alternates": [], "collection": "docs", "description": "You are given the heads of two sorted linked lists list1 and list2", "draft": false, "editUrl": "https://github.com/prdlk/leetcode/edit/main/content/(02-nodal-grid)/linked-list/21_merge-two-sorted-lists.mdx", "entryId": "(02-nodal-grid)/linked-list/21_merge-two-sorted-lists.mdx", "fallback": false, "hidden": false, "hreflang": [], "id": "filesystem:(02-nodal-grid)/linked-list/21_merge-two-sorted-lists.mdx", "indexable": true, "lastModified": "2026-10-14T15:52:02-04:00", "locale": "", "monolingual": false, "path": "/linked-list/merge-two-sorted-lists", "published": null, "title": "21. Merge Two Sorted Lists", "version": "", "versionAlternates": [] }, { "alternates": [], "collection": "docs", "description": "Given the head of a singly linked list, return the middle node of the linked list", "draft": false, "editUrl": "https://github.com/prdlk/leetcode/edit/main/content/(02-nodal-grid)/linked-list/876_middle-of-the-linked-list.mdx", "entryId": "(02-nodal-grid)/linked-list/876_middle-of-the-linked-list.mdx", "fallback": false, "hidden": false, "hreflang": [], "id": "filesystem:(02-nodal-grid)/linked-list/876_middle-of-the-linked-list.mdx", "indexable": true, "lastModified": "2026-10-14T15:52:02-04:00", "locale": "", "monolingual": false, "path": "/linked-list/middle-of-the-linked-list", "published": null, "title": "876. Middle of the Linked List", "version": "", "versionAlternates": [] }, { "alternates": [], "collection": "docs", "description": "You are given the head of a sorted linked list", "draft": false, "editUrl": "https://github.com/prdlk/leetcode/edit/main/content/(02-nodal-grid)/linked-list/82_remove-duplicates-from-sorted-list-ii.mdx", "entryId": "(02-nodal-grid)/linked-list/82_remove-duplicates-from-sorted-list-ii.mdx", "fallback": false, "hidden": false, "hreflang": [], "id": "filesystem:(02-nodal-grid)/linked-list/82_remove-duplicates-from-sorted-list-ii.mdx", "indexable": true, "lastModified": "2026-10-14T15:52:02-04:00", "locale": "", "monolingual": false, "path": "/linked-list/remove-duplicates-from-sorted-list-ii", "published": null, "title": "82. Remove Duplicates from Sorted List II", "version": "", "versionAlternates": [] }, { "alternates": [], "collection": "docs", "description": "Given the head of a linked list, remove the n^th node from the end of the list and return its head", "draft": false, "editUrl": "https://github.com/prdlk/leetcode/edit/main/content/(02-nodal-grid)/linked-list/19_remove-nth-node-from-end-of-list.mdx", "entryId": "(02-nodal-grid)/linked-list/19_remove-nth-node-from-end-of-list.mdx", "fallback": false, "hidden": false, "hreflang": [], "id": "filesystem:(02-nodal-grid)/linked-list/19_remove-nth-node-from-end-of-list.mdx", "indexable": true, "lastModified": "2026-10-14T15:52:02-04:00", "locale": "", "monolingual": false, "path": "/linked-list/remove-nth-node-from-end-of-list", "published": null, "title": "19. Remove Nth Node From End of List", "version": "", "versionAlternates": [] }, { "alternates": [], "collection": "docs", "description": "You are given the head of a singly linked-list. The list can be represented as:", "draft": false, "editUrl": "https://github.com/prdlk/leetcode/edit/main/content/(02-nodal-grid)/linked-list/143_reorder-list.mdx", "entryId": "(02-nodal-grid)/linked-list/143_reorder-list.mdx", "fallback": false, "hidden": false, "hreflang": [], "id": "filesystem:(02-nodal-grid)/linked-list/143_reorder-list.mdx", "indexable": true, "lastModified": "2026-10-14T15:52:02-04:00", "locale": "", "monolingual": false, "path": "/linked-list/reorder-list", "published": null, "title": "143. Reorder List", "version": "", "versionAlternates": [] }, { "alternates": [], "collection": "docs", "description": "Given the head of a singly linked list, reverse the list, and return the reversed list", "draft": false, "editUrl": "https://github.com/prdlk/leetcode/edit/main/content/(02-nodal-grid)/linked-list/206_reverse-linked-list.mdx", "entryId": "(02-nodal-grid)/linked-list/206_reverse-linked-list.mdx", "fallback": false, "hidden": false, "hreflang": [], "id": "filesystem:(02-nodal-grid)/linked-list/206_reverse-linked-list.mdx", "indexable": true, "lastModified": "2026-10-14T15:52:02-04:00", "locale": "", "monolingual": false, "path": "/linked-list/reverse-linked-list", "published": null, "title": "206. Reverse Linked List", "version": "", "versionAlternates": [] }, { "alternates": [], "collection": "docs", "description": "Given the head of a singly linked list and two integers left and right where left <= right, reverse the nodes of the list from position left to position right, and return the reversed list", "draft": false, "editUrl": "https://github.com/prdlk/leetcode/edit/main/content/(02-nodal-grid)/linked-list/92_reverse-linked-list-ii.mdx", "entryId": "(02-nodal-grid)/linked-list/92_reverse-linked-list-ii.mdx", "fallback": false, "hidden": false, "hreflang": [], "id": "filesystem:(02-nodal-grid)/linked-list/92_reverse-linked-list-ii.mdx", "indexable": true, "lastModified": "2026-10-14T15:52:02-04:00", "locale": "", "monolingual": false, "path": "/linked-list/reverse-linked-list-ii", "published": null, "title": "92. Reverse Linked List II", "version": "", "versionAlternates": [] }, { "alternates": [], "collection": "docs", "description": "A two-dimensional grid is read as a flat array through a formula, and the neighbors are found by arithmetic.", "draft": false, "editUrl": "https://github.com/prdlk/leetcode/edit/main/content/(02-nodal-grid)/matrix-index-math/index.mdx", "entryId": "(02-nodal-grid)/matrix-index-math/index.mdx", "fallback": false, "hidden": false, "hreflang": [], "id": "filesystem:(02-nodal-grid)/matrix-index-math/index.mdx", "indexable": true, "lastModified": "2026-10-05T14:22:28-04:00", "locale": "", "monolingual": false, "path": "/matrix-index-math", "published": null, "title": "Matrix Index Math", "version": "", "versionAlternates": [] }, { "alternates": [], "collection": "docs", "description": "You are given an n x n 2D matrix representing an image, rotate the image by 90 degrees (clockwise)", "draft": false, "editUrl": "https://github.com/prdlk/leetcode/edit/main/content/(02-nodal-grid)/matrix-index-math/48_rotate-image.mdx", "entryId": "(02-nodal-grid)/matrix-index-math/48_rotate-image.mdx", "fallback": false, "hidden": false, "hreflang": [], "id": "filesystem:(02-nodal-grid)/matrix-index-math/48_rotate-image.mdx", "indexable": true, "lastModified": "2026-10-14T15:52:02-04:00", "locale": "", "monolingual": false, "path": "/matrix-index-math/rotate-image", "published": null, "title": "48. Rotate Image", "version": "", "versionAlternates": [] }, { "alternates": [], "collection": "docs", "description": "Given an m x n integer matrix matrix, if an element is 0, set its entire row and column to 0's", "draft": false, "editUrl": "https://github.com/prdlk/leetcode/edit/main/content/(02-nodal-grid)/matrix-index-math/73_set-matrix-zeroes.mdx", "entryId": "(02-nodal-grid)/matrix-index-math/73_set-matrix-zeroes.mdx", "fallback": false, "hidden": false, "hreflang": [], "id": "filesystem:(02-nodal-grid)/matrix-index-math/73_set-matrix-zeroes.mdx", "indexable": true, "lastModified": "2026-10-14T15:52:02-04:00", "locale": "", "monolingual": false, "path": "/matrix-index-math/set-matrix-zeroes", "published": null, "title": "73. Set Matrix Zeroes", "version": "", "versionAlternates": [] }, { "alternates": [], "collection": "docs", "description": "Given an m x n matrix, return all elements of the matrix in spiral order", "draft": false, "editUrl": "https://github.com/prdlk/leetcode/edit/main/content/(02-nodal-grid)/matrix-index-math/54_spiral-matrix.mdx", "entryId": "(02-nodal-grid)/matrix-index-math/54_spiral-matrix.mdx", "fallback": false, "hidden": false, "hreflang": [], "id": "filesystem:(02-nodal-grid)/matrix-index-math/54_spiral-matrix.mdx", "indexable": true, "lastModified": "2026-10-14T15:52:02-04:00", "locale": "", "monolingual": false, "path": "/matrix-index-math/spiral-matrix", "published": null, "title": "54. Spiral Matrix", "version": "", "versionAlternates": [] }, { "alternates": [], "collection": "docs", "description": "Determine if a 9 x 9 Sudoku board is valid. Only the filled cells need to be validated according to the following rules:", "draft": false, "editUrl": "https://github.com/prdlk/leetcode/edit/main/content/(02-nodal-grid)/matrix-index-math/36_valid-sudoku.mdx", "entryId": "(02-nodal-grid)/matrix-index-math/36_valid-sudoku.mdx", "fallback": false, "hidden": false, "hreflang": [], "id": "filesystem:(02-nodal-grid)/matrix-index-math/36_valid-sudoku.mdx", "indexable": true, "lastModified": "2026-10-14T15:52:02-04:00", "locale": "", "monolingual": false, "path": "/matrix-index-math/valid-sudoku", "published": null, "title": "36. Valid Sudoku", "version": "", "versionAlternates": [] }, { "alternates": [], "collection": "docs", "description": "A stack keeps its items in sorted order, which finds the next larger or smaller item in one pass.", "draft": false, "editUrl": "https://github.com/prdlk/leetcode/edit/main/content/(01-linear-structures)/monotonic-stack/index.mdx", "entryId": "(01-linear-structures)/monotonic-stack/index.mdx", "fallback": false, "hidden": false, "hreflang": [], "id": "filesystem:(01-linear-structures)/monotonic-stack/index.mdx", "indexable": true, "lastModified": "2026-10-06T12:53:26-04:00", "locale": "", "monolingual": false, "path": "/monotonic-stack", "published": null, "title": "Monotonic Stack", "version": "", "versionAlternates": [] }, { "alternates": [], "collection": "docs", "description": "There are n cars at given miles away from the starting mile 0, traveling to reach the mile target", "draft": false, "editUrl": "https://github.com/prdlk/leetcode/edit/main/content/(01-linear-structures)/monotonic-stack/853_car-fleet.mdx", "entryId": "(01-linear-structures)/monotonic-stack/853_car-fleet.mdx", "fallback": false, "hidden": false, "hreflang": [], "id": "filesystem:(01-linear-structures)/monotonic-stack/853_car-fleet.mdx", "indexable": true, "lastModified": "2026-10-14T15:52:02-04:00", "locale": "", "monolingual": false, "path": "/monotonic-stack/car-fleet", "published": null, "title": "853. Car Fleet", "version": "", "versionAlternates": [] }, { "alternates": [], "collection": "docs", "description": "Given an array of integers temperatures represents the daily temperatures, return an array answer such that answer[i] is the number of days you have to wait after the i^th day to get a warmer temperature. If there is no future day for which this is possible, keep answer[i] == 0 instead", "draft": false, "editUrl": "https://github.com/prdlk/leetcode/edit/main/content/(01-linear-structures)/monotonic-stack/739_daily-temperatures.mdx", "entryId": "(01-linear-structures)/monotonic-stack/739_daily-temperatures.mdx", "fallback": false, "hidden": false, "hreflang": [], "id": "filesystem:(01-linear-structures)/monotonic-stack/739_daily-temperatures.mdx", "indexable": true, "lastModified": "2026-10-14T15:52:02-04:00", "locale": "", "monolingual": false, "path": "/monotonic-stack/daily-temperatures", "published": null, "title": "739. Daily Temperatures", "version": "", "versionAlternates": [] }, { "alternates": [], "collection": "docs", "description": "Given an array of integers heights representing the histogram's bar height where the width of each bar is 1, return the area of the largest rectangle in the histogram", "draft": false, "editUrl": "https://github.com/prdlk/leetcode/edit/main/content/(01-linear-structures)/monotonic-stack/84_largest-rectangle-in-histogram.mdx", "entryId": "(01-linear-structures)/monotonic-stack/84_largest-rectangle-in-histogram.mdx", "fallback": false, "hidden": false, "hreflang": [], "id": "filesystem:(01-linear-structures)/monotonic-stack/84_largest-rectangle-in-histogram.mdx", "indexable": true, "lastModified": "2026-10-14T15:52:02-04:00", "locale": "", "monolingual": false, "path": "/monotonic-stack/largest-rectangle-in-histogram", "published": null, "title": "84. Largest Rectangle in Histogram", "version": "", "versionAlternates": [] }, { "alternates": [], "collection": "docs", "description": "The next greater element of some element x in an array is the first greater element that is to the right of x in the same array", "draft": false, "editUrl": "https://github.com/prdlk/leetcode/edit/main/content/(01-linear-structures)/monotonic-stack/496_next-greater-element-i.mdx", "entryId": "(01-linear-structures)/monotonic-stack/496_next-greater-element-i.mdx", "fallback": false, "hidden": false, "hreflang": [], "id": "filesystem:(01-linear-structures)/monotonic-stack/496_next-greater-element-i.mdx", "indexable": true, "lastModified": "2026-10-14T15:52:02-04:00", "locale": "", "monolingual": false, "path": "/monotonic-stack/next-greater-element-i", "published": null, "title": "496. Next Greater Element I", "version": "", "versionAlternates": [] }, { "alternates": [], "collection": "docs", "description": "Design an algorithm that collects daily price quotes for some stock and returns the span of that stock's price for the current day", "draft": false, "editUrl": "https://github.com/prdlk/leetcode/edit/main/content/(01-linear-structures)/monotonic-stack/901_online-stock-span.mdx", "entryId": "(01-linear-structures)/monotonic-stack/901_online-stock-span.mdx", "fallback": false, "hidden": false, "hreflang": [], "id": "filesystem:(01-linear-structures)/monotonic-stack/901_online-stock-span.mdx", "indexable": true, "lastModified": "2026-10-14T15:52:02-04:00", "locale": "", "monolingual": false, "path": "/monotonic-stack/online-stock-span", "published": null, "title": "901. Online Stock Span", "version": "", "versionAlternates": [] }, { "alternates": [], "collection": "docs", "description": "The result for each state is stored in a table with two or more dimensions, and each cell is computed from its neighbors.", "draft": false, "editUrl": "https://github.com/prdlk/leetcode/edit/main/content/(05-decision-space)/multi-d-grid-dp/index.mdx", "entryId": "(05-decision-space)/multi-d-grid-dp/index.mdx", "fallback": false, "hidden": false, "hreflang": [], "id": "filesystem:(05-decision-space)/multi-d-grid-dp/index.mdx", "indexable": true, "lastModified": "2026-10-05T14:22:28-04:00", "locale": "", "monolingual": false, "path": "/multi-d-grid-dp", "published": null, "title": "Multi-D / Grid DP", "version": "", "versionAlternates": [] }, { "alternates": [], "collection": "docs", "description": "Given two strings text1 and text2, return the length of their longest common subsequence. If there is no common subsequence, return 0", "draft": false, "editUrl": "https://github.com/prdlk/leetcode/edit/main/content/(05-decision-space)/multi-d-grid-dp/1143_longest-common-subsequence.mdx", "entryId": "(05-decision-space)/multi-d-grid-dp/1143_longest-common-subsequence.mdx", "fallback": false, "hidden": false, "hreflang": [], "id": "filesystem:(05-decision-space)/multi-d-grid-dp/1143_longest-common-subsequence.mdx", "indexable": true, "lastModified": "2026-10-14T15:52:02-04:00", "locale": "", "monolingual": false, "path": "/multi-d-grid-dp/longest-common-subsequence", "published": null, "title": "1143. Longest Common Subsequence", "version": "", "versionAlternates": [] }, { "alternates": [], "collection": "docs", "description": "Given a m x n grid filled with non-negative numbers, find a path from top left to bottom right, which minimizes the sum of all numbers along its path", "draft": false, "editUrl": "https://github.com/prdlk/leetcode/edit/main/content/(05-decision-space)/multi-d-grid-dp/64_minimum-path-sum.mdx", "entryId": "(05-decision-space)/multi-d-grid-dp/64_minimum-path-sum.mdx", "fallback": false, "hidden": false, "hreflang": [], "id": "filesystem:(05-decision-space)/multi-d-grid-dp/64_minimum-path-sum.mdx", "indexable": true, "lastModified": "2026-10-14T15:52:02-04:00", "locale": "", "monolingual": false, "path": "/multi-d-grid-dp/minimum-path-sum", "published": null, "title": "64. Minimum Path Sum", "version": "", "versionAlternates": [] }, { "alternates": [], "collection": "docs", "description": "There is a robot on an m x n grid. The robot is initially located at the top-left corner (i.e., grid[0][0]). The robot tries to move to the bottom-right corner (i.e., grid[m - 1][n - 1]). The robot can only move either down or right at any point in time", "draft": false, "editUrl": "https://github.com/prdlk/leetcode/edit/main/content/(05-decision-space)/multi-d-grid-dp/62_unique-paths.mdx", "entryId": "(05-decision-space)/multi-d-grid-dp/62_unique-paths.mdx", "fallback": false, "hidden": false, "hreflang": [], "id": "filesystem:(05-decision-space)/multi-d-grid-dp/62_unique-paths.mdx", "indexable": true, "lastModified": "2026-10-14T15:52:02-04:00", "locale": "", "monolingual": false, "path": "/multi-d-grid-dp/unique-paths", "published": null, "title": "62. Unique Paths", "version": "", "versionAlternates": [] }, { "alternates": [], "collection": "docs", "description": "A running total is stored at each index, so the sum of any range is one subtraction.", "draft": false, "editUrl": "https://github.com/prdlk/leetcode/edit/main/content/(01-linear-structures)/prefix-sum/index.mdx", "entryId": "(01-linear-structures)/prefix-sum/index.mdx", "fallback": false, "hidden": false, "hreflang": [], "id": "filesystem:(01-linear-structures)/prefix-sum/index.mdx", "indexable": true, "lastModified": "2026-10-05T14:22:28-04:00", "locale": "", "monolingual": false, "path": "/prefix-sum", "published": null, "title": "Prefix Sum", "version": "", "versionAlternates": [] }, { "alternates": [], "collection": "docs", "description": "Given a binary array nums, return the maximum length of a contiguous subarray with an equal number of 0 and 1", "draft": false, "editUrl": "https://github.com/prdlk/leetcode/edit/main/content/(01-linear-structures)/prefix-sum/525_contiguous-array.mdx", "entryId": "(01-linear-structures)/prefix-sum/525_contiguous-array.mdx", "fallback": false, "hidden": false, "hreflang": [], "id": "filesystem:(01-linear-structures)/prefix-sum/525_contiguous-array.mdx", "indexable": true, "lastModified": "2026-10-14T15:52:02-04:00", "locale": "", "monolingual": false, "path": "/prefix-sum/contiguous-array", "published": null, "title": "525. Contiguous Array", "version": "", "versionAlternates": [] }, { "alternates": [], "collection": "docs", "description": "Given an integer array nums, return an array answer such that answer[i] is equal to the product of all the elements of nums except nums[i]", "draft": false, "editUrl": "https://github.com/prdlk/leetcode/edit/main/content/(01-linear-structures)/prefix-sum/238_product-of-array-except-self.mdx", "entryId": "(01-linear-structures)/prefix-sum/238_product-of-array-except-self.mdx", "fallback": false, "hidden": false, "hreflang": [], "id": "filesystem:(01-linear-structures)/prefix-sum/238_product-of-array-except-self.mdx", "indexable": true, "lastModified": "2026-10-14T15:52:02-04:00", "locale": "", "monolingual": false, "path": "/prefix-sum/product-of-array-except-self", "published": null, "title": "238. Product of Array Except Self", "version": "", "versionAlternates": [] }, { "alternates": [], "collection": "docs", "description": "Given an integer array nums, handle multiple queries of the following type", "draft": false, "editUrl": "https://github.com/prdlk/leetcode/edit/main/content/(01-linear-structures)/prefix-sum/303_range-sum-query-immutable.mdx", "entryId": "(01-linear-structures)/prefix-sum/303_range-sum-query-immutable.mdx", "fallback": false, "hidden": false, "hreflang": [], "id": "filesystem:(01-linear-structures)/prefix-sum/303_range-sum-query-immutable.mdx", "indexable": true, "lastModified": "2026-10-14T15:52:02-04:00", "locale": "", "monolingual": false, "path": "/prefix-sum/range-sum-query-immutable", "published": null, "title": "303. Range Sum Query - Immutable", "version": "", "versionAlternates": [] }, { "alternates": [], "collection": "docs", "description": "Given an array of integers nums and an integer k, return the total number of subarrays whose sum equals to k", "draft": false, "editUrl": "https://github.com/prdlk/leetcode/edit/main/content/(01-linear-structures)/prefix-sum/560_subarray-sum-equals-k.mdx", "entryId": "(01-linear-structures)/prefix-sum/560_subarray-sum-equals-k.mdx", "fallback": false, "hidden": false, "hreflang": [], "id": "filesystem:(01-linear-structures)/prefix-sum/560_subarray-sum-equals-k.mdx", "indexable": true, "lastModified": "2026-10-14T15:52:02-04:00", "locale": "", "monolingual": false, "path": "/prefix-sum/subarray-sum-equals-k", "published": null, "title": "560. Subarray Sum Equals K", "version": "", "versionAlternates": [] }, { "alternates": [], "collection": "docs", "description": "Given an integer array nums and an integer k, return the number of non-empty subarrays that have a sum divisible by k", "draft": false, "editUrl": "https://github.com/prdlk/leetcode/edit/main/content/(01-linear-structures)/prefix-sum/974_subarray-sums-divisible-by-k.mdx", "entryId": "(01-linear-structures)/prefix-sum/974_subarray-sums-divisible-by-k.mdx", "fallback": false, "hidden": false, "hreflang": [], "id": "filesystem:(01-linear-structures)/prefix-sum/974_subarray-sums-divisible-by-k.mdx", "indexable": true, "lastModified": "2026-10-14T15:52:02-04:00", "locale": "", "monolingual": false, "path": "/prefix-sum/subarray-sums-divisible-by-k", "published": null, "title": "974. Subarray Sums Divisible by K", "version": "", "versionAlternates": [] }, { "alternates": [], "collection": "docs", "description": "Sliding window is a specialized two-pointer family where the pointers define a contiguous interval and you maintain information about that entire interval as it moves.", "draft": false, "editUrl": "https://github.com/prdlk/leetcode/edit/main/content/(01-linear-structures)/sliding-window/index.mdx", "entryId": "(01-linear-structures)/sliding-window/index.mdx", "fallback": false, "hidden": false, "hreflang": [], "id": "filesystem:(01-linear-structures)/sliding-window/index.mdx", "indexable": true, "lastModified": "2026-10-05T14:22:28-04:00", "locale": "", "monolingual": false, "path": "/sliding-window", "published": null, "title": "Sliding Window", "version": "", "versionAlternates": [] }, { "alternates": [], "collection": "docs", "description": "You are given an array prices where prices[i] is the price of a given stock on the i^th day", "draft": false, "editUrl": "https://github.com/prdlk/leetcode/edit/main/content/(01-linear-structures)/sliding-window/121_best-time-to-buy-and-sell-stock.mdx", "entryId": "(01-linear-structures)/sliding-window/121_best-time-to-buy-and-sell-stock.mdx", "fallback": false, "hidden": false, "hreflang": [], "id": "filesystem:(01-linear-structures)/sliding-window/121_best-time-to-buy-and-sell-stock.mdx", "indexable": true, "lastModified": "2026-10-14T15:52:02-04:00", "locale": "", "monolingual": false, "path": "/sliding-window/best-time-to-buy-and-sell-stock", "published": null, "title": "121. Best Time to Buy and Sell Stock", "version": "", "versionAlternates": [] }, { "alternates": [], "collection": "docs", "description": "You are given a string s and an integer k. You can choose any character of the string and change it to any other uppercase English character. You can perform this operation at most k times", "draft": false, "editUrl": "https://github.com/prdlk/leetcode/edit/main/content/(01-linear-structures)/sliding-window/424_longest-repeating-character-replacement.mdx", "entryId": "(01-linear-structures)/sliding-window/424_longest-repeating-character-replacement.mdx", "fallback": false, "hidden": false, "hreflang": [], "id": "filesystem:(01-linear-structures)/sliding-window/424_longest-repeating-character-replacement.mdx", "indexable": true, "lastModified": "2026-10-14T15:52:02-04:00", "locale": "", "monolingual": false, "path": "/sliding-window/longest-repeating-character-replacement", "published": null, "title": "424. Longest Repeating Character Replacement", "version": "", "versionAlternates": [] }, { "alternates": [], "collection": "docs", "description": "Given a string s, find the length of the longest substring without duplicate characters", "draft": false, "editUrl": "https://github.com/prdlk/leetcode/edit/main/content/(01-linear-structures)/sliding-window/3_longest-substring-without-repeating-characters.mdx", "entryId": "(01-linear-structures)/sliding-window/3_longest-substring-without-repeating-characters.mdx", "fallback": false, "hidden": false, "hreflang": [], "id": "filesystem:(01-linear-structures)/sliding-window/3_longest-substring-without-repeating-characters.mdx", "indexable": true, "lastModified": "2026-10-14T15:52:02-04:00", "locale": "", "monolingual": false, "path": "/sliding-window/longest-substring-without-repeating-characters", "published": null, "title": "3. Longest Substring Without Repeating Characters", "version": "", "versionAlternates": [] }, { "alternates": [], "collection": "docs", "description": "Given a binary array nums and an integer k, return the maximum number of consecutive 1's in the array if you can flip at most k 0's", "draft": false, "editUrl": "https://github.com/prdlk/leetcode/edit/main/content/(01-linear-structures)/sliding-window/1004_max-consecutive-ones-iii.mdx", "entryId": "(01-linear-structures)/sliding-window/1004_max-consecutive-ones-iii.mdx", "fallback": false, "hidden": false, "hreflang": [], "id": "filesystem:(01-linear-structures)/sliding-window/1004_max-consecutive-ones-iii.mdx", "indexable": true, "lastModified": "2026-10-14T15:52:02-04:00", "locale": "", "monolingual": false, "path": "/sliding-window/max-consecutive-ones-iii", "published": null, "title": "1004. Max Consecutive Ones III", "version": "", "versionAlternates": [] }, { "alternates": [], "collection": "docs", "description": "You are given an integer array nums consisting of n elements, and an integer k", "draft": false, "editUrl": "https://github.com/prdlk/leetcode/edit/main/content/(01-linear-structures)/sliding-window/643_maximum-average-subarray-i.mdx", "entryId": "(01-linear-structures)/sliding-window/643_maximum-average-subarray-i.mdx", "fallback": false, "hidden": false, "hreflang": [], "id": "filesystem:(01-linear-structures)/sliding-window/643_maximum-average-subarray-i.mdx", "indexable": true, "lastModified": "2026-10-14T15:52:02-04:00", "locale": "", "monolingual": false, "path": "/sliding-window/maximum-average-subarray-i", "published": null, "title": "643. Maximum Average Subarray I", "version": "", "versionAlternates": [] }, { "alternates": [], "collection": "docs", "description": "Given an array of positive integers nums and a positive integer target, return the minimal length of a subarray whose sum is greater than or equal to target. If there is no such subarray, return 0 instead", "draft": false, "editUrl": "https://github.com/prdlk/leetcode/edit/main/content/(01-linear-structures)/sliding-window/209_minimum-size-subarray-sum.mdx", "entryId": "(01-linear-structures)/sliding-window/209_minimum-size-subarray-sum.mdx", "fallback": false, "hidden": false, "hreflang": [], "id": "filesystem:(01-linear-structures)/sliding-window/209_minimum-size-subarray-sum.mdx", "indexable": true, "lastModified": "2026-10-14T15:52:02-04:00", "locale": "", "monolingual": false, "path": "/sliding-window/minimum-size-subarray-sum", "published": null, "title": "209. Minimum Size Subarray Sum", "version": "", "versionAlternates": [] }, { "alternates": [], "collection": "docs", "description": "Given two strings s and t of lengths m and n respectively, return the minimum window substring of s such that every character in t (including duplicates) is included in the window. If there is no such substring, return the empty string \"\"", "draft": false, "editUrl": "https://github.com/prdlk/leetcode/edit/main/content/(01-linear-structures)/sliding-window/76_minimum-window-substring.mdx", "entryId": "(01-linear-structures)/sliding-window/76_minimum-window-substring.mdx", "fallback": false, "hidden": false, "hreflang": [], "id": "filesystem:(01-linear-structures)/sliding-window/76_minimum-window-substring.mdx", "indexable": true, "lastModified": "2026-10-14T15:52:02-04:00", "locale": "", "monolingual": false, "path": "/sliding-window/minimum-window-substring", "published": null, "title": "76. Minimum Window Substring", "version": "", "versionAlternates": [] }, { "alternates": [], "collection": "docs", "description": "Given two strings s1 and s2, return true if s2 contains a permutation of s1, or false otherwise", "draft": false, "editUrl": "https://github.com/prdlk/leetcode/edit/main/content/(01-linear-structures)/sliding-window/567_permutation-in-string.mdx", "entryId": "(01-linear-structures)/sliding-window/567_permutation-in-string.mdx", "fallback": false, "hidden": false, "hreflang": [], "id": "filesystem:(01-linear-structures)/sliding-window/567_permutation-in-string.mdx", "indexable": true, "lastModified": "2026-10-14T15:52:02-04:00", "locale": "", "monolingual": false, "path": "/sliding-window/permutation-in-string", "published": null, "title": "567. Permutation in String", "version": "", "versionAlternates": [] }, { "alternates": [], "collection": "docs", "description": "Items are added and removed from one end, so the last item added is the first item removed.", "draft": false, "editUrl": "https://github.com/prdlk/leetcode/edit/main/content/(01-linear-structures)/stack/index.mdx", "entryId": "(01-linear-structures)/stack/index.mdx", "fallback": false, "hidden": false, "hreflang": [], "id": "filesystem:(01-linear-structures)/stack/index.mdx", "indexable": true, "lastModified": "2026-10-06T12:58:52-04:00", "locale": "", "monolingual": false, "path": "/stack", "published": null, "title": "Stack", "version": "", "versionAlternates": [] }, { "alternates": [], "collection": "docs", "description": "Given a string s representing a valid expression, implement a basic calculator to evaluate it, and return the result of the evaluation", "draft": false, "editUrl": "https://github.com/prdlk/leetcode/edit/main/content/(01-linear-structures)/stack/224_basic-calculator.mdx", "entryId": "(01-linear-structures)/stack/224_basic-calculator.mdx", "fallback": false, "hidden": false, "hreflang": [], "id": "filesystem:(01-linear-structures)/stack/224_basic-calculator.mdx", "indexable": true, "lastModified": "2026-10-14T15:52:02-04:00", "locale": "", "monolingual": false, "path": "/stack/basic-calculator", "published": null, "title": "224. Basic Calculator", "version": "", "versionAlternates": [] }, { "alternates": [], "collection": "docs", "description": "You are given an array of strings tokens that represents an arithmetic expression in a Reverse Polish Notation", "draft": false, "editUrl": "https://github.com/prdlk/leetcode/edit/main/content/(01-linear-structures)/stack/150_evaluate-reverse-polish-notation.mdx", "entryId": "(01-linear-structures)/stack/150_evaluate-reverse-polish-notation.mdx", "fallback": false, "hidden": false, "hreflang": [], "id": "filesystem:(01-linear-structures)/stack/150_evaluate-reverse-polish-notation.mdx", "indexable": true, "lastModified": "2026-10-14T15:52:02-04:00", "locale": "", "monolingual": false, "path": "/stack/evaluate-reverse-polish-notation", "published": null, "title": "150. Evaluate Reverse Polish Notation", "version": "", "versionAlternates": [] }, { "alternates": [], "collection": "docs", "description": "Design a stack that supports push, pop, top, and retrieving the minimum element in constant time", "draft": false, "editUrl": "https://github.com/prdlk/leetcode/edit/main/content/(01-linear-structures)/stack/155_min-stack.mdx", "entryId": "(01-linear-structures)/stack/155_min-stack.mdx", "fallback": false, "hidden": false, "hreflang": [], "id": "filesystem:(01-linear-structures)/stack/155_min-stack.mdx", "indexable": true, "lastModified": "2026-10-14T15:52:02-04:00", "locale": "", "monolingual": false, "path": "/stack/min-stack", "published": null, "title": "155. Min Stack", "version": "", "versionAlternates": [] }, { "alternates": [], "collection": "docs", "description": "You are given an absolute path for a Unix-style file system, which always begins with a slash '/'. Your task is to transform this absolute path into its simplified canonical path", "draft": false, "editUrl": "https://github.com/prdlk/leetcode/edit/main/content/(01-linear-structures)/stack/71_simplify-path.mdx", "entryId": "(01-linear-structures)/stack/71_simplify-path.mdx", "fallback": false, "hidden": false, "hreflang": [], "id": "filesystem:(01-linear-structures)/stack/71_simplify-path.mdx", "indexable": true, "lastModified": "2026-10-14T15:52:02-04:00", "locale": "", "monolingual": false, "path": "/stack/simplify-path", "published": null, "title": "71. Simplify Path", "version": "", "versionAlternates": [] }, { "alternates": [], "collection": "docs", "description": "Given a string s containing just the characters '(', ')', '{', '}', '[' and ']', determine if the input string is valid", "draft": false, "editUrl": "https://github.com/prdlk/leetcode/edit/main/content/(01-linear-structures)/stack/20_valid-parentheses.mdx", "entryId": "(01-linear-structures)/stack/20_valid-parentheses.mdx", "fallback": false, "hidden": false, "hreflang": [], "id": "filesystem:(01-linear-structures)/stack/20_valid-parentheses.mdx", "indexable": true, "lastModified": "2026-10-14T15:52:02-04:00", "locale": "", "monolingual": false, "path": "/stack/valid-parentheses", "published": null, "title": "20. Valid Parentheses", "version": "", "versionAlternates": [] }, { "alternates": [], "collection": "docs", "description": "Topological sort or topological ordering of a directed graph is an ordering of nodes such that every node appears in the ordering before all the nodes it points to. ", "draft": false, "editUrl": "https://github.com/prdlk/leetcode/edit/main/content/(04-relational)/topological-sort/index.mdx", "entryId": "(04-relational)/topological-sort/index.mdx", "fallback": false, "hidden": false, "hreflang": [], "id": "filesystem:(04-relational)/topological-sort/index.mdx", "indexable": true, "lastModified": "2026-10-05T14:22:28-04:00", "locale": "", "monolingual": false, "path": "/topological-sort", "published": null, "title": "Topological Sort", "version": "", "versionAlternates": [] }, { "alternates": [], "collection": "docs", "description": "There are a total of numCourses courses you have to take, labeled from 0 to numCourses - 1. You are given an array prerequisites where prerequisites[i] = [ai, bi] indicates that you must take course bi first if you want to take course ai", "draft": false, "editUrl": "https://github.com/prdlk/leetcode/edit/main/content/(04-relational)/topological-sort/207_course-schedule.mdx", "entryId": "(04-relational)/topological-sort/207_course-schedule.mdx", "fallback": false, "hidden": false, "hreflang": [], "id": "filesystem:(04-relational)/topological-sort/207_course-schedule.mdx", "indexable": true, "lastModified": "2026-10-14T15:52:02-04:00", "locale": "", "monolingual": false, "path": "/topological-sort/course-schedule", "published": null, "title": "207. Course Schedule", "version": "", "versionAlternates": [] }, { "alternates": [], "collection": "docs", "description": "There are a total of numCourses courses you have to take, labeled from 0 to numCourses - 1. You are given an array prerequisites where prerequisites[i] = [ai, bi] indicates that you must take course bi first if you want to take course ai", "draft": false, "editUrl": "https://github.com/prdlk/leetcode/edit/main/content/(04-relational)/topological-sort/210_course-schedule-ii.mdx", "entryId": "(04-relational)/topological-sort/210_course-schedule-ii.mdx", "fallback": false, "hidden": false, "hreflang": [], "id": "filesystem:(04-relational)/topological-sort/210_course-schedule-ii.mdx", "indexable": true, "lastModified": "2026-10-14T15:52:02-04:00", "locale": "", "monolingual": false, "path": "/topological-sort/course-schedule-ii", "published": null, "title": "210. Course Schedule II", "version": "", "versionAlternates": [] }, { "alternates": [], "collection": "docs", "description": "All nodes at one level are visited before the nodes at the next level.", "draft": false, "editUrl": "https://github.com/prdlk/leetcode/edit/main/content/(03-hierarchical)/tree-bfs/index.mdx", "entryId": "(03-hierarchical)/tree-bfs/index.mdx", "fallback": false, "hidden": false, "hreflang": [], "id": "filesystem:(03-hierarchical)/tree-bfs/index.mdx", "indexable": true, "lastModified": "2026-10-05T14:22:28-04:00", "locale": "", "monolingual": false, "path": "/tree-bfs", "published": null, "title": "Tree BFS", "version": "", "versionAlternates": [] }, { "alternates": [], "collection": "docs", "description": "Given the root of a binary tree, return the level order traversal of its nodes' values. (i.e., from left to right, level by level)", "draft": false, "editUrl": "https://github.com/prdlk/leetcode/edit/main/content/(03-hierarchical)/tree-bfs/102_binary-tree-level-order-traversal.mdx", "entryId": "(03-hierarchical)/tree-bfs/102_binary-tree-level-order-traversal.mdx", "fallback": false, "hidden": false, "hreflang": [], "id": "filesystem:(03-hierarchical)/tree-bfs/102_binary-tree-level-order-traversal.mdx", "indexable": true, "lastModified": "2026-10-14T15:52:02-04:00", "locale": "", "monolingual": false, "path": "/tree-bfs/binary-tree-level-order-traversal", "published": null, "title": "102. Binary Tree Level Order Traversal", "version": "", "versionAlternates": [] }, { "alternates": [], "collection": "docs", "description": "Given the root of a binary tree, imagine yourself standing on the right side of it, return the values of the nodes you can see ordered from top to bottom", "draft": false, "editUrl": "https://github.com/prdlk/leetcode/edit/main/content/(03-hierarchical)/tree-bfs/199_binary-tree-right-side-view.mdx", "entryId": "(03-hierarchical)/tree-bfs/199_binary-tree-right-side-view.mdx", "fallback": false, "hidden": false, "hreflang": [], "id": "filesystem:(03-hierarchical)/tree-bfs/199_binary-tree-right-side-view.mdx", "indexable": true, "lastModified": "2026-10-14T15:52:02-04:00", "locale": "", "monolingual": false, "path": "/tree-bfs/binary-tree-right-side-view", "published": null, "title": "199. Binary Tree Right Side View", "version": "", "versionAlternates": [] }, { "alternates": [], "collection": "docs", "description": "Given a binary tree root, a node X in the tree is named good if in the path from root to X there are no nodes with a value greater than X", "draft": false, "editUrl": "https://github.com/prdlk/leetcode/edit/main/content/(03-hierarchical)/tree-bfs/1448_count-good-nodes-in-binary-tree.mdx", "entryId": "(03-hierarchical)/tree-bfs/1448_count-good-nodes-in-binary-tree.mdx", "fallback": false, "hidden": false, "hreflang": [], "id": "filesystem:(03-hierarchical)/tree-bfs/1448_count-good-nodes-in-binary-tree.mdx", "indexable": true, "lastModified": "2026-10-14T15:52:02-04:00", "locale": "", "monolingual": false, "path": "/tree-bfs/count-good-nodes-in-binary-tree", "published": null, "title": "1448. Count Good Nodes in Binary Tree", "version": "", "versionAlternates": [] }, { "alternates": [], "collection": "docs", "description": "Each branch is followed to its end before the next branch is examined.", "draft": false, "editUrl": "https://github.com/prdlk/leetcode/edit/main/content/(03-hierarchical)/tree-dfs/index.mdx", "entryId": "(03-hierarchical)/tree-dfs/index.mdx", "fallback": false, "hidden": false, "hreflang": [], "id": "filesystem:(03-hierarchical)/tree-dfs/index.mdx", "indexable": true, "lastModified": "2026-10-05T14:22:28-04:00", "locale": "", "monolingual": false, "path": "/tree-dfs", "published": null, "title": "Tree DFS", "version": "", "versionAlternates": [] }, { "alternates": [], "collection": "docs", "description": "Given the root of a binary tree, invert the tree, and return its root", "draft": false, "editUrl": "https://github.com/prdlk/leetcode/edit/main/content/(03-hierarchical)/tree-dfs/226_invert-binary-tree.mdx", "entryId": "(03-hierarchical)/tree-dfs/226_invert-binary-tree.mdx", "fallback": false, "hidden": false, "hreflang": [], "id": "filesystem:(03-hierarchical)/tree-dfs/226_invert-binary-tree.mdx", "indexable": true, "lastModified": "2026-10-14T15:52:02-04:00", "locale": "", "monolingual": false, "path": "/tree-dfs/invert-binary-tree", "published": null, "title": "226. Invert Binary Tree", "version": "", "versionAlternates": [] }, { "alternates": [], "collection": "docs", "description": "Given a binary tree, find the lowest common ancestor (LCA) of two given nodes in the tree", "draft": false, "editUrl": "https://github.com/prdlk/leetcode/edit/main/content/(03-hierarchical)/tree-dfs/236_lowest-common-ancestor-of-a-binary-tree.mdx", "entryId": "(03-hierarchical)/tree-dfs/236_lowest-common-ancestor-of-a-binary-tree.mdx", "fallback": false, "hidden": false, "hreflang": [], "id": "filesystem:(03-hierarchical)/tree-dfs/236_lowest-common-ancestor-of-a-binary-tree.mdx", "indexable": true, "lastModified": "2026-10-14T15:52:02-04:00", "locale": "", "monolingual": false, "path": "/tree-dfs/lowest-common-ancestor-of-a-binary-tree", "published": null, "title": "236. Lowest Common Ancestor of a Binary Tree", "version": "", "versionAlternates": [] }, { "alternates": [], "collection": "docs", "description": "Given the root of a binary tree, return its maximum depth", "draft": false, "editUrl": "https://github.com/prdlk/leetcode/edit/main/content/(03-hierarchical)/tree-dfs/104_maximum-depth-of-binary-tree.mdx", "entryId": "(03-hierarchical)/tree-dfs/104_maximum-depth-of-binary-tree.mdx", "fallback": false, "hidden": false, "hreflang": [], "id": "filesystem:(03-hierarchical)/tree-dfs/104_maximum-depth-of-binary-tree.mdx", "indexable": true, "lastModified": "2026-10-14T15:52:02-04:00", "locale": "", "monolingual": false, "path": "/tree-dfs/maximum-depth-of-binary-tree", "published": null, "title": "104. Maximum Depth of Binary Tree", "version": "", "versionAlternates": [] }, { "alternates": [], "collection": "docs", "description": "Each node holds one character, and a path from the root spells a word.", "draft": false, "editUrl": "https://github.com/prdlk/leetcode/edit/main/content/(03-hierarchical)/trie/index.mdx", "entryId": "(03-hierarchical)/trie/index.mdx", "fallback": false, "hidden": false, "hreflang": [], "id": "filesystem:(03-hierarchical)/trie/index.mdx", "indexable": true, "lastModified": "2026-10-05T14:22:28-04:00", "locale": "", "monolingual": false, "path": "/trie", "published": null, "title": "Trie", "version": "", "versionAlternates": [] }, { "alternates": [], "collection": "docs", "description": "Design a data structure that supports adding new words and finding if a string matches any previously added string", "draft": false, "editUrl": "https://github.com/prdlk/leetcode/edit/main/content/(03-hierarchical)/trie/211_design-add-and-search-words-data-structure.mdx", "entryId": "(03-hierarchical)/trie/211_design-add-and-search-words-data-structure.mdx", "fallback": false, "hidden": false, "hreflang": [], "id": "filesystem:(03-hierarchical)/trie/211_design-add-and-search-words-data-structure.mdx", "indexable": true, "lastModified": "2026-10-14T15:52:02-04:00", "locale": "", "monolingual": false, "path": "/trie/design-add-and-search-words-data-structure", "published": null, "title": "211. Design Add and Search Words Data Structure", "version": "", "versionAlternates": [] }, { "alternates": [], "collection": "docs", "description": "A trie (pronounced as \"try\") or prefix tree is a tree data structure used to efficiently store and retrieve keys in a dataset of strings. There are various applications of this data structure, such as autocomplete and spellchecker", "draft": false, "editUrl": "https://github.com/prdlk/leetcode/edit/main/content/(03-hierarchical)/trie/208_implement-trie-prefix-tree.mdx", "entryId": "(03-hierarchical)/trie/208_implement-trie-prefix-tree.mdx", "fallback": false, "hidden": false, "hreflang": [], "id": "filesystem:(03-hierarchical)/trie/208_implement-trie-prefix-tree.mdx", "indexable": true, "lastModified": "2026-10-14T15:52:02-04:00", "locale": "", "monolingual": false, "path": "/trie/implement-trie-prefix-tree", "published": null, "title": "208. Implement Trie (Prefix Tree)", "version": "", "versionAlternates": [] }, { "alternates": [], "collection": "docs", "description": "Two indices move through the data from different positions and meet at the answer.", "draft": false, "editUrl": "https://github.com/prdlk/leetcode/edit/main/content/(01-linear-structures)/two-pointers/index.mdx", "entryId": "(01-linear-structures)/two-pointers/index.mdx", "fallback": false, "hidden": false, "hreflang": [], "id": "filesystem:(01-linear-structures)/two-pointers/index.mdx", "indexable": true, "lastModified": "2026-10-06T13:16:45-04:00", "locale": "", "monolingual": false, "path": "/two-pointers", "published": null, "title": "Two Pointers", "version": "", "versionAlternates": [] }, { "alternates": [], "collection": "docs", "description": "Given an integer array nums, return all the triplets [nums[i], nums[j], nums[k]] such that i != j, i != k, and j != k, and nums[i] + nums[j] + nums[k] == 0", "draft": false, "editUrl": "https://github.com/prdlk/leetcode/edit/main/content/(01-linear-structures)/two-pointers/15_3sum.mdx", "entryId": "(01-linear-structures)/two-pointers/15_3sum.mdx", "fallback": false, "hidden": false, "hreflang": [], "id": "filesystem:(01-linear-structures)/two-pointers/15_3sum.mdx", "indexable": true, "lastModified": "2026-10-14T15:52:02-04:00", "locale": "", "monolingual": false, "path": "/two-pointers/3sum", "published": null, "title": "15. 3Sum", "version": "", "versionAlternates": [] }, { "alternates": [], "collection": "docs", "description": "You are given an integer array height of length n. There are n vertical lines drawn such that the two endpoints of the i^th line are (i, 0) and (i, height[i])", "draft": false, "editUrl": "https://github.com/prdlk/leetcode/edit/main/content/(01-linear-structures)/two-pointers/11_container-with-most-water.mdx", "entryId": "(01-linear-structures)/two-pointers/11_container-with-most-water.mdx", "fallback": false, "hidden": false, "hreflang": [], "id": "filesystem:(01-linear-structures)/two-pointers/11_container-with-most-water.mdx", "indexable": true, "lastModified": "2026-10-14T15:52:02-04:00", "locale": "", "monolingual": false, "path": "/two-pointers/container-with-most-water", "published": null, "title": "11. Container With Most Water", "version": "", "versionAlternates": [] }, { "alternates": [], "collection": "docs", "description": "Given two strings s and t, return true if s is a subsequence of t, or false otherwise", "draft": false, "editUrl": "https://github.com/prdlk/leetcode/edit/main/content/(01-linear-structures)/two-pointers/392_is-subsequence.mdx", "entryId": "(01-linear-structures)/two-pointers/392_is-subsequence.mdx", "fallback": false, "hidden": false, "hreflang": [], "id": "filesystem:(01-linear-structures)/two-pointers/392_is-subsequence.mdx", "indexable": true, "lastModified": "2026-10-14T15:52:02-04:00", "locale": "", "monolingual": false, "path": "/two-pointers/is-subsequence", "published": null, "title": "392. Is Subsequence", "version": "", "versionAlternates": [] }, { "alternates": [], "collection": "docs", "description": "Given an integer array nums sorted in non-decreasing order, remove some duplicates in-place such that each unique element appears at most twice. The relative order of the elements should be kept the same", "draft": false, "editUrl": "https://github.com/prdlk/leetcode/edit/main/content/(01-linear-structures)/two-pointers/80_remove-duplicates-from-sorted-array-ii.mdx", "entryId": "(01-linear-structures)/two-pointers/80_remove-duplicates-from-sorted-array-ii.mdx", "fallback": false, "hidden": false, "hreflang": [], "id": "filesystem:(01-linear-structures)/two-pointers/80_remove-duplicates-from-sorted-array-ii.mdx", "indexable": true, "lastModified": "2026-10-14T15:52:02-04:00", "locale": "", "monolingual": false, "path": "/two-pointers/remove-duplicates-from-sorted-array-ii", "published": null, "title": "80. Remove Duplicates from Sorted Array II", "version": "", "versionAlternates": [] }, { "alternates": [], "collection": "docs", "description": "Write a function that reverses a string. The input string is given as an array of characters s", "draft": false, "editUrl": "https://github.com/prdlk/leetcode/edit/main/content/(01-linear-structures)/two-pointers/344_reverse-string.mdx", "entryId": "(01-linear-structures)/two-pointers/344_reverse-string.mdx", "fallback": false, "hidden": false, "hreflang": [], "id": "filesystem:(01-linear-structures)/two-pointers/344_reverse-string.mdx", "indexable": true, "lastModified": "2026-10-14T15:52:02-04:00", "locale": "", "monolingual": false, "path": "/two-pointers/reverse-string", "published": null, "title": "344. Reverse String", "version": "", "versionAlternates": [] }, { "alternates": [], "collection": "docs", "description": "Given an integer array nums, rotate the array to the right by k steps, where k is non-negative", "draft": false, "editUrl": "https://github.com/prdlk/leetcode/edit/main/content/(01-linear-structures)/two-pointers/189_rotate-array.mdx", "entryId": "(01-linear-structures)/two-pointers/189_rotate-array.mdx", "fallback": false, "hidden": false, "hreflang": [], "id": "filesystem:(01-linear-structures)/two-pointers/189_rotate-array.mdx", "indexable": true, "lastModified": "2026-10-14T15:52:02-04:00", "locale": "", "monolingual": false, "path": "/two-pointers/rotate-array", "published": null, "title": "189. Rotate Array", "version": "", "versionAlternates": [] }, { "alternates": [], "collection": "docs", "description": "Given an integer array nums sorted in non-decreasing order, return an array of the squares of each number sorted in non-decreasing order", "draft": false, "editUrl": "https://github.com/prdlk/leetcode/edit/main/content/(01-linear-structures)/two-pointers/977_squares-of-a-sorted-array.mdx", "entryId": "(01-linear-structures)/two-pointers/977_squares-of-a-sorted-array.mdx", "fallback": false, "hidden": false, "hreflang": [], "id": "filesystem:(01-linear-structures)/two-pointers/977_squares-of-a-sorted-array.mdx", "indexable": true, "lastModified": "2026-10-14T15:52:02-04:00", "locale": "", "monolingual": false, "path": "/two-pointers/squares-of-a-sorted-array", "published": null, "title": "977. Squares of a Sorted Array", "version": "", "versionAlternates": [] }, { "alternates": [], "collection": "docs", "description": "Given n non-negative integers representing an elevation map where the width of each bar is 1, compute how much water it can trap after raining", "draft": false, "editUrl": "https://github.com/prdlk/leetcode/edit/main/content/(01-linear-structures)/two-pointers/42_trapping-rain-water.mdx", "entryId": "(01-linear-structures)/two-pointers/42_trapping-rain-water.mdx", "fallback": false, "hidden": false, "hreflang": [], "id": "filesystem:(01-linear-structures)/two-pointers/42_trapping-rain-water.mdx", "indexable": true, "lastModified": "2026-10-14T15:52:02-04:00", "locale": "", "monolingual": false, "path": "/two-pointers/trapping-rain-water", "published": null, "title": "42. Trapping Rain Water", "version": "", "versionAlternates": [] }, { "alternates": [], "collection": "docs", "description": "Given a 1-indexed array of integers numbers that is already sorted in non-decreasing order, find two numbers such that they add up to a specific target number. Let these two numbers be numbers[index1] and numbers[index2] where 1 <= index1 < index2 <= numbers.length", "draft": false, "editUrl": "https://github.com/prdlk/leetcode/edit/main/content/(01-linear-structures)/two-pointers/167_two-sum-ii-input-array-is-sorted.mdx", "entryId": "(01-linear-structures)/two-pointers/167_two-sum-ii-input-array-is-sorted.mdx", "fallback": false, "hidden": false, "hreflang": [], "id": "filesystem:(01-linear-structures)/two-pointers/167_two-sum-ii-input-array-is-sorted.mdx", "indexable": true, "lastModified": "2026-10-14T15:52:02-04:00", "locale": "", "monolingual": false, "path": "/two-pointers/two-sum-ii-input-array-is-sorted", "published": null, "title": "167. Two Sum II - Input Array Is Sorted", "version": "", "versionAlternates": [] }, { "alternates": [], "collection": "docs", "description": "A phrase is a palindrome if, after converting all uppercase letters into lowercase letters and removing all non-alphanumeric characters, it reads the same forward and backward. Alphanumeric characters include letters and numbers", "draft": false, "editUrl": "https://github.com/prdlk/leetcode/edit/main/content/(01-linear-structures)/two-pointers/125_valid-palindrome.mdx", "entryId": "(01-linear-structures)/two-pointers/125_valid-palindrome.mdx", "fallback": false, "hidden": false, "hreflang": [], "id": "filesystem:(01-linear-structures)/two-pointers/125_valid-palindrome.mdx", "indexable": true, "lastModified": "2026-10-14T15:52:02-04:00", "locale": "", "monolingual": false, "path": "/two-pointers/valid-palindrome", "published": null, "title": "125. Valid Palindrome", "version": "", "versionAlternates": [] }, { "alternates": [], "collection": "docs", "description": "Union-Find (Disjoint Set Union) is a data structure that maintains a collection of disjoint sets and supports efficiently finding which set an element belongs to and merging two sets.", "draft": false, "editUrl": "https://github.com/prdlk/leetcode/edit/main/content/(04-relational)/union-find/index.mdx", "entryId": "(04-relational)/union-find/index.mdx", "fallback": false, "hidden": false, "hreflang": [], "id": "filesystem:(04-relational)/union-find/index.mdx", "indexable": true, "lastModified": "2026-10-05T14:22:28-04:00", "locale": "", "monolingual": false, "path": "/union-find", "published": null, "title": "Union Find", "version": "", "versionAlternates": [] }, { "alternates": [], "collection": "docs", "description": "You have a graph of n nodes. You are given an integer n and an array edges where edges[i] = [ai, bi] indicates that there is an edge between ai and bi in the graph", "draft": false, "editUrl": "https://github.com/prdlk/leetcode/edit/main/content/(04-relational)/union-find/323_number-of-connected-components-in-an-undirected-graph.mdx", "entryId": "(04-relational)/union-find/323_number-of-connected-components-in-an-undirected-graph.mdx", "fallback": false, "hidden": false, "hreflang": [], "id": "filesystem:(04-relational)/union-find/323_number-of-connected-components-in-an-undirected-graph.mdx", "indexable": true, "lastModified": "2026-10-05T14:22:28-04:00", "locale": "", "monolingual": false, "path": "/union-find/number-of-connected-components-in-an-undirected-graph", "published": null, "title": "323. Number of Connected Components in an Undirected Graph", "version": "", "versionAlternates": [] }, { "alternates": [], "collection": "docs", "description": "In this problem, a tree is an undirected graph that is connected and has no cycles", "draft": false, "editUrl": "https://github.com/prdlk/leetcode/edit/main/content/(04-relational)/union-find/684_redundant-connection.mdx", "entryId": "(04-relational)/union-find/684_redundant-connection.mdx", "fallback": false, "hidden": false, "hreflang": [], "id": "filesystem:(04-relational)/union-find/684_redundant-connection.mdx", "indexable": true, "lastModified": "2026-10-14T15:52:02-04:00", "locale": "", "monolingual": false, "path": "/union-find/redundant-connection", "published": null, "title": "684. Redundant Connection", "version": "", "versionAlternates": [] } ], "ui": { "actions": { "addToCursor": "Add to Cursor", "addToVscode": "Add to VS Code", "askAboutCode": "Ask about this code", "connectMcp": "Connect to MCP", "copied": "Copied!", "copyClaudeCode": "Copy Claude Code command", "copyCode": "Copy code", "copyCodex": "Copy Codex command", "copyFailed": "Copy failed", "copyMarkdown": "Copy as Markdown", "copyServerUrl": "Copy server URL", "edit": "Edit on GitHub", "export": "Export", "exportEpub": "Export to EPUB", "exportPdf": "Export to PDF", "generating": "Generating…", "openIn": "Open in {name}", "openInChat": "Open in chat", "openInChatPrompt": "Read {url} so I can ask you questions about this page.", "scrollToTop": "Scroll to top" }, "assistant": { "ai": "AI", "clear": "Clear conversation", "close": "Close", "copy": "Copy conversation", "empty": "Ask a question about the docs.", "error": "Sorry, something went wrong.", "explainCode": "Explain this code.", "label": "Ask a question", "open": "Open assistant", "placeholder": "Ask a question…", "rateLimited": "You've asked a lot of questions. Try again in a few minutes.", "removeCode": "Remove code", "send": "Send", "support": "Contact support", "supportSubject": "Question from the docs", "tip": "Tip: You can open and close chat with", "title": "Assistant", "verifyFailed": "We couldn't check that you're human. Try again.", "you": "You" }, "banner": { "dismiss": "Dismiss announcement" }, "changelog": { "description": "Product updates, new features, and fixes from every release.", "empty": "No changelog entries yet.", "title": "Changelog" }, "consent": { "accept": "Accept", "decline": "Decline", "label": "Cookie consent", "message": "We'd like to use cookies to understand how these docs are used.", "policy": "Privacy policy", "settings": "Cookie settings" }, "content": { "code": "Code", "copyColor": "Copy {name} color {value}", "copyPrompt": "Copy prompt", "default": "Default", "diagramError": "Could not render this diagram.", "forks": "Forks", "preview": "Preview", "prop": "Prop", "selectTab": "Select tab", "selectView": "Select view", "showLess": "Show less", "showMore": "Show more", "stars": "Stars", "tab": "Tab {n}", "type": "Type", "update": "Update" }, "feedback": { "comment": "Tell us more (optional)", "no": "No", "question": "Was this page helpful?", "send": "Send", "thanks": "Thanks for your feedback!", "yes": "Yes" }, "languageSwitcher": { "label": "Language", "untranslated": "Not translated" }, "narration": { "cueDanger": "Danger.", "cueInfo": "Info.", "cueNote": "Note.", "cueSection": "Expandable section.", "cueStep": "Step {n}.", "cueSuccess": "Success.", "cueTab": "{title} tab.", "cueTip": "Tip.", "cueWarning": "Warning.", "error": "The narration couldn't load.", "follow": "Follow along", "label": "Listen to this page", "minutes": "{n} min", "next": "Next sentence", "pause": "Pause", "play": "Play", "previous": "Previous sentence", "progress": "Narration progress", "speed": "Playback speed", "stop": "Stop listening" }, "nav": { "back": "Back", "breadcrumb": "Breadcrumb", "closeNavigation": "Close navigation", "deprecated": "deprecated", "featured": "Featured", "githubRepository": "GitHub repository", "navigation": "Navigation", "opensInNewTab": "Opens in a new tab", "primary": "Primary", "sections": "Sections", "toggleNavigation": "Toggle navigation", "toggleTheme": "Toggle theme" }, "notFound": { "api": "JSON API description (openapi.json)", "description": "We couldn't find the page you're looking for.", "home": "Back to home", "llms": "Docs index for AI agents (llms.txt)", "sitemap": "Sitemap", "suggestions": "Where to look next", "title": "Page not found" }, "page": { "lastUpdated": "Last updated on", "next": "Next", "pagination": "Pagination", "previous": "Previous", "related": "Related pages", "skipToContent": "Skip to content" }, "search": { "all": "All", "allLanguages": "All languages", "allVersions": "All versions", "assistant": "Assistant", "assistantHint": "Get an instant answer from AI", "button": "Search", "devOnly": "Search is available in the production build.", "docs": "Docs", "error": "Something went wrong. Please try again.", "label": "Search docs", "latest": "latest", "navigate": "navigate", "noResults": "No results found.", "open": "open", "placeholder": "Search documentation…", "popular": "Popular", "preview": "preview", "results": "Results" }, "toc": { "title": "On this page" }, "versions": { "latest": "Go to latest", "notice": "You're viewing documentation for {version}. It may be out of date.", "switcher": "Version" } }, "uiByLocale": {} }