feat(content): add new problem pages, reorganize docs into (problems) subfolders, and update meta display to page

This commit is contained in:
Prad Nukala committed 2026-10-05 13:07:56 -04:00
1 parent 74939c31d7
commit ea62cda955
115 files changed
+174 -24

No files matched your search

@@ -0,0 +1,48 @@
---
title: '162. Find Peak Element'
description: A peak element is an element that is strictly greater than its neighbors
icon: dot
topics:
- { name: "Array", slug: "array" }
- { name: "Binary Search", slug: "binary-search" }
issue: "https://github.com/prdlk/leetcode/issues/64"
sidebar:
label: 'Find Peak Element'
badge: 'Medium'
---
::::warning
You must write an algorithm that runs in O(log n) time.
::::
### Example 1:
- Input: `nums = [1,2,3,1]`
- Output: `2`
- Explanation: `3` is a peak element and your function should return the index number `2`.
### Example 2:
- Input: `nums = [1,2,1,3,5,6,4]`
- Output: `5`
- Explanation: Your function can return either index number `1` where the peak element is `2`, or index number `5` where the peak element is `6`.
### Constraints:
- `1 <= nums.length <= 1000`
- `-2^31 <= nums[i] <= 2^31 - 1`
- `nums[i] != nums[i + 1] for all valid i.`
## Solution
```py
class Solution:
def findPeakElement(self, nums: list[int]) -> int:
left, right = 0, len(nums) - 1
while left < right:
mid = (left + right) // 2
if nums[mid] < nums[mid + 1]:
left = mid + 1
else:
right = mid
return left
```
@@ -1,3 +1,3 @@
import { defineMeta } from "blume";
export default defineMeta({ title: "Binary Search", order: 5, icon: "search", display: "group" });
export default defineMeta({ title: "Binary Search", order: 5, icon: "search", display: "page" });
@@ -0,0 +1,56 @@
---
title: '128. Longest Consecutive Sequence'
description: Given an unsorted array of integers nums, return the length of the longest consecutive elements sequence
icon: dot
topics:
- { name: "Array", slug: "array" }
- { name: "Hash Table", slug: "hash-table" }
- { name: "Union-Find", slug: "union-find" }
issue: "https://github.com/prdlk/leetcode/issues/34"
sidebar:
label: 'Longest Consecutive Sequence'
badge: 'Medium'
---
::::warning
You must write an algorithm that runs in O(n) time.
::::
### Example 1:
- Input: `nums = [100,4,200,1,3,2]`
- Output: `4`
- Explanation: The longest consecutive elements sequence is [1, `2`, `3`, 4]. Therefore its length is `4`.
### Example 2:
- Input: `nums = [0,3,7,2,5,8,4,6,0,1]`
- Output: `9`
### Example 3:
- Input: `nums = [1,0,1,2]`
- Output: `3`
### Constraints:
- `0 <= nums.length <= 10^5`
- `-10^9 <= nums[i] <= 10^9`
## Solution
```py
class Solution:
def longestConsecutive(self, nums: list[int]) -> int:
seen = set(nums)
best = 0
for n in seen:
if n - 1 in seen:
continue
length = 1
while length + n in seen:
length += 1
best = max(length, best)
return best
```
@@ -1,3 +1,3 @@
import { defineMeta } from "blume";
export default defineMeta({ title: "Hash Table", order: 1, icon: "hash", display: "group" });
export default defineMeta({ title: "Hash Table", order: 1, icon: "hash", display: "page" });
@@ -1,3 +1,3 @@
import { defineMeta } from "blume";
export default defineMeta({ title: "Monotonic Stack", order: 7, icon: "trending-up", display: "group" });
export default defineMeta({ title: "Monotonic Stack", order: 7, icon: "trending-up", display: "page" });
@@ -1,3 +1,3 @@
import { defineMeta } from "blume";
export default defineMeta({ title: "Prefix Sum", order: 2, icon: "sigma", display: "group" });
export default defineMeta({ title: "Prefix Sum", order: 2, icon: "sigma", display: "page" });
@@ -0,0 +1,46 @@
---
title: '643. Maximum Average Subarray I'
description: You are given an integer array nums consisting of n elements, and an integer k
icon: dot
topics:
- { name: "Array", slug: "array" }
- { name: "Sliding Window", slug: "sliding-window" }
issue: "https://github.com/prdlk/leetcode/issues/55"
sidebar:
label: 'Maximum Average Subarray I'
badge: 'Easy'
---
### Example 1:
- Input: `nums = [1,12,-5,-6,50,3], k = 4`
- Output: `12.75000`
- Explanation: Maximum average is `(12 - 5 - 6 + 50`) / `4 = 51 / 4 = 12.75`
### Example 2:
- Input: `nums = [5], k = 1`
- Output: `5.00000`
### Constraints:
- `n == nums.length`
- `1 <= k <= n <= 10^5`
- `-10^4 <= nums[i] <= 10^4`
## Solution
```py
class Solution:
def findMaxAverage(self, nums: list[int], k: int) -> float:
window_sum = 0
for i in range(k):
window_sum += nums[i]
largest = window_sum
for right in range(k, len(nums)):
left = right - k
window_sum -= nums[left]
window_sum += nums[right]
largest = max(largest, window_sum)
return largest / k
```
@@ -1,3 +1,3 @@
import { defineMeta } from "blume";
export default defineMeta({ title: "Sliding Window", order: 4, icon: "app-window", display: "group" });
export default defineMeta({ title: "Sliding Window", order: 4, icon: "app-window", display: "page" });
@@ -1,3 +1,3 @@
import { defineMeta } from "blume";
export default defineMeta({ title: "Stack", order: 6, icon: "layers", display: "group" });
export default defineMeta({ title: "Stack", order: 6, icon: "layers", display: "page" });
@@ -1,3 +1,3 @@
import { defineMeta } from "blume";
export default defineMeta({ title: "Two Pointers", order: 3, icon: "arrow-left-right", display: "group" });
export default defineMeta({ title: "Two Pointers", order: 3, icon: "arrow-left-right", display: "page" });
@@ -1,3 +1,3 @@
import { defineMeta } from "blume";
export default defineMeta({ title: "Hybrid Structures", order: 9, icon: "combine", display: "group" });
export default defineMeta({ title: "Hybrid Structures", order: 9, icon: "combine", display: "page" });
@@ -1,3 +1,3 @@
import { defineMeta } from "blume";
export default defineMeta({ title: "Linked List", order: 8, icon: "link", display: "group" });
export default defineMeta({ title: "Linked List", order: 8, icon: "link", display: "page" });
@@ -1,3 +1,3 @@
import { defineMeta } from "blume";
export default defineMeta({ title: "Matrix Index Math", order: 10, icon: "grid-3x3", display: "group" });
export default defineMeta({ title: "Matrix Index Math", order: 10, icon: "grid-3x3", display: "page" });
@@ -1,3 +1,3 @@
import { defineMeta } from "blume";
export default defineMeta({ title: "Binary Search Tree", order: 13, icon: "git-fork", display: "group" });
export default defineMeta({ title: "Binary Search Tree", order: 13, icon: "git-fork", display: "page" });
@@ -1,3 +1,3 @@
import { defineMeta } from "blume";
export default defineMeta({ title: "Heap / Priority Queue", order: 14, icon: "triangle", display: "group" });
export default defineMeta({ title: "Heap / Priority Queue", order: 14, icon: "triangle", display: "page" });
@@ -1,3 +1,3 @@
import { defineMeta } from "blume";
export default defineMeta({ title: "Tree BFS", order: 12, icon: "network", display: "group" });
export default defineMeta({ title: "Tree BFS", order: 12, icon: "network", display: "page" });
@@ -1,3 +1,3 @@
import { defineMeta } from "blume";
export default defineMeta({ title: "Tree DFS", order: 11, icon: "folder-tree", display: "group" });
export default defineMeta({ title: "Tree DFS", order: 11, icon: "folder-tree", display: "page" });
@@ -1,3 +1,3 @@
import { defineMeta } from "blume";
export default defineMeta({ title: "Trie", order: 15, icon: "spell-check", display: "group" });
export default defineMeta({ title: "Trie", order: 15, icon: "spell-check", display: "page" });
@@ -1,3 +1,3 @@
import { defineMeta } from "blume";
export default defineMeta({ title: "Graph BFS", order: 17, icon: "radar", display: "group" });
export default defineMeta({ title: "Graph BFS", order: 17, icon: "radar", display: "page" });
@@ -1,3 +1,3 @@
import { defineMeta } from "blume";
export default defineMeta({ title: "Graph DFS", order: 16, icon: "waypoints", display: "group" });
export default defineMeta({ title: "Graph DFS", order: 16, icon: "waypoints", display: "page" });
@@ -1,3 +1,3 @@
import { defineMeta } from "blume";
export default defineMeta({ title: "Topological Sort", order: 18, icon: "workflow", display: "group" });
export default defineMeta({ title: "Topological Sort", order: 18, icon: "workflow", display: "page" });
@@ -1,3 +1,3 @@
import { defineMeta } from "blume";
export default defineMeta({ title: "Union-Find", order: 19, icon: "merge", display: "group" });
export default defineMeta({ title: "Union-Find", order: 19, icon: "merge", display: "page" });
@@ -1,3 +1,3 @@
import { defineMeta } from "blume";
export default defineMeta({ title: "1-D Dynamic Programming", order: 21, icon: "columns-3", display: "group" });
export default defineMeta({ title: "1-D Dynamic Programming", order: 21, icon: "columns-3", display: "page" });
Loaded 100 of 115 files, more files were not shown because too many files have changed in this diff. Show more