diff --git a/frontend/src/app/patterns/[slug]/page.tsx b/frontend/src/app/patterns/[slug]/page.tsx index 692e804..2e7c269 100644 --- a/frontend/src/app/patterns/[slug]/page.tsx +++ b/frontend/src/app/patterns/[slug]/page.tsx @@ -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, GreedyVisualization, IntervalsVisualization, MatrixTraversalVisualization, TrieVisualization, UnionFindVisualization } from "@/components/visualizations-new"; +import { TwoPointersVisualization, PrefixSumVisualization, LinkedListVisualization, MonotonicStackVisualization, TreeTraversalVisualization, BFSVisualization, DFSVisualization, CoinChangeVisualization, BacktrackingVisualization, HeapVisualization, GreedyVisualization, IntervalsVisualization, MatrixTraversalVisualization, TrieVisualization, UnionFindVisualization, BitManipulationVisualization } 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"; @@ -33,6 +33,7 @@ import { mergeIntervalsAlgorithm } from "@/content/algorithms/merge-intervals"; import { numberOfIslandsAlgorithm } from "@/content/algorithms/number-of-islands"; import { implementTrieAlgorithm } from "@/content/algorithms/implement-trie"; import { redundantConnectionAlgorithm } from "@/content/algorithms/redundant-connection"; +import { singleNumberAlgorithm } from "@/content/algorithms/single-number"; interface PageProps { params: Promise<{ slug: string }>; @@ -161,6 +162,8 @@ export default async function PatternDetailPage({ params }: PageProps) { ) : slug === "union-find" ? ( + ) : slug === "bit-manipulation" ? ( + ) : pattern.visualization_examples && pattern.visualization_examples.length > 0 ? ( diff --git a/frontend/src/components/visualizations-new/index.ts b/frontend/src/components/visualizations-new/index.ts index 21fb955..ed042e6 100644 --- a/frontend/src/components/visualizations-new/index.ts +++ b/frontend/src/components/visualizations-new/index.ts @@ -20,6 +20,7 @@ export { HeapNode } from "./primitives/heap-node"; export { IntervalBar } from "./primitives/interval-bar"; export { TrieNode } from "./primitives/trie-node"; export { UnionFindNode } from "./primitives/union-find-node"; +export { BitDisplay } from "./primitives/bit-display"; // Data structures export { ArrayView } from "./data-structures/array-view"; @@ -33,6 +34,7 @@ export { HeapView } from "./data-structures/heap-view"; export { IntervalView } from "./data-structures/interval-view"; export { TrieView } from "./data-structures/trie-view"; export { UnionFindView } from "./data-structures/union-find-view"; +export { BitManipulationView, BitXORSequence, BitArrayWithBinary } from "./data-structures/bit-manipulation-view"; // Algorithm visualizations export { MonotonicStackVisualization } from "./algorithms/monotonic-stack"; @@ -50,3 +52,4 @@ export { IntervalsVisualization } from "./algorithms/intervals"; export { MatrixTraversalVisualization } from "./algorithms/matrix-traversal"; export { TrieVisualization } from "./algorithms/trie"; export { UnionFindVisualization } from "./algorithms/union-find"; +export { BitManipulationVisualization } from "./algorithms/bit-manipulation";