feat(viz): backtracking, greedy, intervals, matrix

This commit is contained in:
2025-09-03 21:47:33 +01:00
parent 31c74f177b
commit 67c8932c14
15 changed files with 3063 additions and 1 deletions

View File

@@ -14,7 +14,7 @@ import {
RelatedPatterns,
} from "@/components/patterns";
import { PatternVisualization } from "@/components/visualization";
import { TwoPointersVisualization, PrefixSumVisualization, LinkedListVisualization, MonotonicStackVisualization, TreeTraversalVisualization, BFSVisualization, DFSVisualization, CoinChangeVisualization, BacktrackingVisualization, HeapVisualization } from "@/components/visualizations-new";
import { TwoPointersVisualization, PrefixSumVisualization, LinkedListVisualization, MonotonicStackVisualization, TreeTraversalVisualization, BFSVisualization, DFSVisualization, CoinChangeVisualization, BacktrackingVisualization, HeapVisualization, GreedyVisualization, IntervalsVisualization, MatrixTraversalVisualization } from "@/components/visualizations-new";
import { twoSumAlgorithm } from "@/content/algorithms/two-sum";
import { slidingWindowAlgorithm } from "@/content/algorithms/sliding-window";
import { binarySearchAlgorithm } from "@/content/algorithms/binary-search";
@@ -28,6 +28,9 @@ import { dfsAlgorithm } from "@/content/algorithms/dfs";
import { coinChangeAlgorithm } from "@/content/algorithms/coin-change";
import { subsetsAlgorithm } from "@/content/algorithms/subsets";
import { kthLargestAlgorithm } from "@/content/algorithms/kth-largest";
import { jumpGameAlgorithm } from "@/content/algorithms/jump-game";
import { mergeIntervalsAlgorithm } from "@/content/algorithms/merge-intervals";
import { numberOfIslandsAlgorithm } from "@/content/algorithms/number-of-islands";
interface PageProps {
params: Promise<{ slug: string }>;
@@ -146,6 +149,12 @@ export default async function PatternDetailPage({ params }: PageProps) {
<BacktrackingVisualization algorithm={subsetsAlgorithm} />
) : slug === "heap" ? (
<HeapVisualization algorithm={kthLargestAlgorithm} />
) : slug === "greedy" ? (
<GreedyVisualization algorithm={jumpGameAlgorithm} />
) : slug === "intervals" ? (
<IntervalsVisualization algorithm={mergeIntervalsAlgorithm} />
) : slug === "matrix-traversal" ? (
<MatrixTraversalVisualization algorithm={numberOfIslandsAlgorithm} />
) : pattern.visualization_examples && pattern.visualization_examples.length > 0 ? (
<Card>
<CardHeader>