Language Switcher Demo

All code blocks are pre-rendered server-side. No Suspense, no skeleton, no flash.

Fibonacci

// Fibonacci with memoization
const fibonacci = (() => {
  const cache = new Map<number, number>();

  return function fib(n: number): number {
    if (n <= 1) return n;

    if (cache.has(n)) {
      return cache.get(n)!;
    }

    const result = fib(n - 1) + fib(n - 2);
    cache.set(n, result);
    return result;
  };
})();

// Calculate first 10 Fibonacci numbers
const sequence = Array.from({ length: 10 }, (_, i) => fibonacci(i));
console.log(sequence); // [0, 1, 1, 2, 3, 5, 8, 13, 21, 34]
// Fibonacci with memoization
const fibonacci = (() => {
  const cache = new Map();

  return function fib(n) {
    if (n <= 1) return n;

    if (cache.has(n)) {
      return cache.get(n);
    }

    const result = fib(n - 1) + fib(n - 2);
    cache.set(n, result);
    return result;
  };
})();

// Calculate first 10 Fibonacci numbers
const sequence = Array.from({ length: 10 }, (_, i) => fibonacci(i));
console.log(sequence); // [0, 1, 1, 2, 3, 5, 8, 13, 21, 34]
# Fibonacci with memoization
from functools import cache

@cache
def fibonacci(n: int) -> int:
    if n <= 1:
        return n
    return fibonacci(n - 1) + fibonacci(n - 2)

# Calculate first 10 Fibonacci numbers
sequence = [fibonacci(i) for i in range(10)]
print(sequence)  # [0, 1, 1, 2, 3, 5, 8, 13, 21, 34]
// Fibonacci with memoization
use std::collections::HashMap;

fn fibonacci(n: u64, cache: &mut HashMap<u64, u64>) -> u64 {
    if n <= 1 {
        return n;
    }

    if let Some(&result) = cache.get(&n) {
        return result;
    }

    let result = fibonacci(n - 1, cache) + fibonacci(n - 2, cache);
    cache.insert(n, result);
    result
}

fn main() {
    let mut cache = HashMap::new();

    // Calculate first 10 Fibonacci numbers
    let sequence: Vec<u64> = (0..10)
        .map(|i| fibonacci(i, &mut cache))
        .collect();

    println!("{:?}", sequence); // [0, 1, 1, 2, 3, 5, 8, 13, 21, 34]
}

QuickSort

// Fibonacci with memoization
const fibonacci = (() => {
  const cache = new Map<number, number>();

  return function fib(n: number): number {
    if (n <= 1) return n;

    if (cache.has(n)) {
      return cache.get(n)!;
    }

    const result = fib(n - 1) + fib(n - 2);
    cache.set(n, result);
    return result;
  };
})();

// Calculate first 10 Fibonacci numbers
const sequence = Array.from({ length: 10 }, (_, i) => fibonacci(i));
console.log(sequence); // [0, 1, 1, 2, 3, 5, 8, 13, 21, 34]
// Fibonacci with memoization
const fibonacci = (() => {
  const cache = new Map();

  return function fib(n) {
    if (n <= 1) return n;

    if (cache.has(n)) {
      return cache.get(n);
    }

    const result = fib(n - 1) + fib(n - 2);
    cache.set(n, result);
    return result;
  };
})();

// Calculate first 10 Fibonacci numbers
const sequence = Array.from({ length: 10 }, (_, i) => fibonacci(i));
console.log(sequence); // [0, 1, 1, 2, 3, 5, 8, 13, 21, 34]
# Fibonacci with memoization
from functools import cache

@cache
def fibonacci(n: int) -> int:
    if n <= 1:
        return n
    return fibonacci(n - 1) + fibonacci(n - 2)

# Calculate first 10 Fibonacci numbers
sequence = [fibonacci(i) for i in range(10)]
print(sequence)  # [0, 1, 1, 2, 3, 5, 8, 13, 21, 34]
// Fibonacci with memoization
use std::collections::HashMap;

fn fibonacci(n: u64, cache: &mut HashMap<u64, u64>) -> u64 {
    if n <= 1 {
        return n;
    }

    if let Some(&result) = cache.get(&n) {
        return result;
    }

    let result = fibonacci(n - 1, cache) + fibonacci(n - 2, cache);
    cache.insert(n, result);
    result
}

fn main() {
    let mut cache = HashMap::new();

    // Calculate first 10 Fibonacci numbers
    let sequence: Vec<u64> = (0..10)
        .map(|i| fibonacci(i, &mut cache))
        .collect();

    println!("{:?}", sequence); // [0, 1, 1, 2, 3, 5, 8, 13, 21, 34]
}

Binary Search

// Fibonacci with memoization
const fibonacci = (() => {
  const cache = new Map<number, number>();

  return function fib(n: number): number {
    if (n <= 1) return n;

    if (cache.has(n)) {
      return cache.get(n)!;
    }

    const result = fib(n - 1) + fib(n - 2);
    cache.set(n, result);
    return result;
  };
})();

// Calculate first 10 Fibonacci numbers
const sequence = Array.from({ length: 10 }, (_, i) => fibonacci(i));
console.log(sequence); // [0, 1, 1, 2, 3, 5, 8, 13, 21, 34]
// Fibonacci with memoization
const fibonacci = (() => {
  const cache = new Map();

  return function fib(n) {
    if (n <= 1) return n;

    if (cache.has(n)) {
      return cache.get(n);
    }

    const result = fib(n - 1) + fib(n - 2);
    cache.set(n, result);
    return result;
  };
})();

// Calculate first 10 Fibonacci numbers
const sequence = Array.from({ length: 10 }, (_, i) => fibonacci(i));
console.log(sequence); // [0, 1, 1, 2, 3, 5, 8, 13, 21, 34]
# Fibonacci with memoization
from functools import cache

@cache
def fibonacci(n: int) -> int:
    if n <= 1:
        return n
    return fibonacci(n - 1) + fibonacci(n - 2)

# Calculate first 10 Fibonacci numbers
sequence = [fibonacci(i) for i in range(10)]
print(sequence)  # [0, 1, 1, 2, 3, 5, 8, 13, 21, 34]
// Fibonacci with memoization
use std::collections::HashMap;

fn fibonacci(n: u64, cache: &mut HashMap<u64, u64>) -> u64 {
    if n <= 1 {
        return n;
    }

    if let Some(&result) = cache.get(&n) {
        return result;
    }

    let result = fibonacci(n - 1, cache) + fibonacci(n - 2, cache);
    cache.insert(n, result);
    result
}

fn main() {
    let mut cache = HashMap::new();

    // Calculate first 10 Fibonacci numbers
    let sequence: Vec<u64> = (0..10)
        .map(|i| fibonacci(i, &mut cache))
        .collect();

    println!("{:?}", sequence); // [0, 1, 1, 2, 3, 5, 8, 13, 21, 34]
}