<![CDATA[Scala Algorithms]]>
2023-08-20
https://www.scala-algorithms.com
Print a binary tree vertically
2023-08-20
# Print a binary tree vertically

Visit the Algorithm page

Check Sudoku board
2023-08-08
# Check Sudoku board

Visit the Algorithm page

Merge intervals
2023-07-20
# Merge intervals

Visit the Algorithm page

Check word in grid (stack-safe)
2023-07-08
# Check word in grid (stack-safe)

Visit the Algorithm page

Check word in grid (depth-first search)
2023-06-20
# Check word in grid (depth-first search)

Visit the Algorithm page

Median of two sorted arrays
2023-06-08
# Median of two sorted arrays

Visit the Algorithm page

Find the longest palindrome within a string
2023-05-20
# Find the longest palindrome within a string

Visit the Algorithm page

Print a binary tree
2023-05-08
# Print a binary tree

Visit the Algorithm page

Count dist intersections
2023-04-20
# Count dist intersections

Visit the Algorithm page

Maximum wait at a fuel station
2023-04-05
# Maximum wait at a fuel station

Visit the Algorithm page

Binary heap (min-heap)
2023-03-20
# Binary heap (min-heap)

Visit the Algorithm page

Compute missing ranges
2022-01-27
# Compute missing ranges

Visit the Algorithm page

Find kth largest element in a List
2022-01-20
# Find kth largest element in a List

Visit the Algorithm page

Find the minimum item in a rotated sorted array
2022-01-13
# Find the minimum item in a rotated sorted array

Visit the Algorithm page

Compute the steps to transform an anagram only using swaps
2021-12-30
# Compute the steps to transform an anagram only using swaps

Visit the Algorithm page

Compute minimum number of Fibonacci numbers to reach sum
2021-12-23
# Compute minimum number of Fibonacci numbers to reach sum

Visit the Algorithm page

Fixed Window Rate Limiter
2021-12-16
# Fixed Window Rate Limiter

Visit the Algorithm page

Token Bucket Rate Limiter
2021-12-09
# Token Bucket Rate Limiter

Visit the Algorithm page

Leaky Bucket Rate Limiter
2021-12-02
# Leaky Bucket Rate Limiter

Visit the Algorithm page

Least-recently used cache (MRU)
2021-11-25
# Least-recently used cache (MRU)

Visit the Algorithm page

Game of Life
2021-11-18
# Game of Life

Visit the Algorithm page

Find triplets that sum to a target ('3Sum')
2021-11-04
# Find triplets that sum to a target ('3Sum')

Visit the Algorithm page

Reverse Polish Notation calculator
2021-10-28
# Reverse Polish Notation calculator

Visit the Algorithm page

Mars Rover
2021-10-21
# Mars Rover

Visit the Algorithm page

Find indices of tuples that sum to a target (Two Sum)
2021-10-14
# Find indices of tuples that sum to a target (Two Sum)

Visit the Algorithm page

Sliding Window Rate Limiter
2021-10-07
# Sliding Window Rate Limiter

Visit the Algorithm page

Compute modulo of an exponent without exponentiation
2021-09-23
# Compute modulo of an exponent without exponentiation

Visit the Algorithm page

Count pairs of a given expected sum
2021-09-16
# Count pairs of a given expected sum

Visit the Algorithm page

Establish execution order from dependencies
2021-09-09
# Establish execution order from dependencies

Visit the Algorithm page

Check a binary tree is balanced
2021-09-02
# Check a binary tree is balanced

Visit the Algorithm page

Compute keypad possibilities
2021-08-26
# Compute keypad possibilities

Visit the Algorithm page

Reverse first n elements of a queue
2021-08-19
# Reverse first n elements of a queue

Visit the Algorithm page

Least-recently used cache (LRU)
2021-08-12
# Least-recently used cache (LRU)

Visit the Algorithm page

Find height of binary tree
2021-08-05
# Find height of binary tree

Visit the Algorithm page

Check a binary tree is a search tree
2021-07-29
# Check a binary tree is a search tree

Visit the Algorithm page

Make a binary search tree (Red-Black tree)
2021-07-22
# Make a binary search tree (Red-Black tree)

Visit the Algorithm page

Check a directed graph has a routing between two nodes (depth-first search)
2021-07-15
# Check a directed graph has a routing between two nodes (depth-first search)

Visit the Algorithm page

Longest common prefix of strings
2021-07-08
# Longest common prefix of strings

Visit the Algorithm page

Check if a directed graph has cycles
2021-07-01
# Check if a directed graph has cycles

Visit the Algorithm page

Pure-functional double linked list
2021-06-24
# Pure-functional double linked list

Visit the Algorithm page

Count passing cars
2021-06-17
# Count passing cars

Visit the Algorithm page

Remove duplicates from an unsorted List
2021-06-10
# Remove duplicates from an unsorted List

Visit the Algorithm page

Make a queue using Maps
2021-06-03
# Make a queue using Maps

Visit the Algorithm page

Make a queue using stacks (Lists in Scala)
2021-05-28
# Make a queue using stacks (Lists in Scala)

Visit the Algorithm page

Single-elimination tournament tree
2021-05-20
# Single-elimination tournament tree

Visit the Algorithm page

Compute the length of longest valid parentheses
2021-05-13
# Compute the length of longest valid parentheses

Visit the Algorithm page

Binary search in a rotated sorted array
2021-05-06
# Binary search in a rotated sorted array

Visit the Algorithm page

Find combinations adding up to N (unique)
2021-04-29
# Find combinations adding up to N (unique)

Visit the Algorithm page

Find the index of a substring ('indexOf')
2021-04-24
# Find the index of a substring ('indexOf')

Visit the Algorithm page

Reverse bits of an integer
2021-04-17
# Reverse bits of an integer

Visit the Algorithm page

Find k closest elements to a value in a sorted Array
2021-04-10
# Find k closest elements to a value in a sorted Array

Visit the Algorithm page

Reshape a matrix
2021-04-03
# Reshape a matrix

Visit the Algorithm page

Remove duplicates from a sorted list (Sliding)
2021-03-27
# Remove duplicates from a sorted list (Sliding)

Visit the Algorithm page

Remove duplicates from a sorted list (state machine)
2021-03-20
# Remove duplicates from a sorted list (state machine)

Visit the Algorithm page

Find combinations adding up to N (non-unique)
2021-03-13
# Find combinations adding up to N (non-unique)

Visit the Algorithm page

Compute single-digit sum of digits
2021-03-06
# Compute single-digit sum of digits

Visit the Algorithm page

Add numbers without using addition (plus sign)
2021-02-27
# Add numbers without using addition (plus sign)

Visit the Algorithm page

Tic Tac Toe MinMax solve
2021-02-20
# Tic Tac Toe MinMax solve

Visit the Algorithm page

Compute nth row of Pascal's triangle
2021-02-14
# Compute nth row of Pascal's triangle

Visit the Algorithm page

Print Alphabet Diamond
2021-02-11
# Print Alphabet Diamond

Visit the Algorithm page

Reverse a String's words efficiently
2021-02-04
# Reverse a String's words efficiently

Visit the Algorithm page

Monitor success rate of a process that may fail
2021-01-28
# Monitor success rate of a process that may fail

Visit the Algorithm page

QuickSelect Selection Algorithm (kth smallest item/order statistic)
2021-01-21
# QuickSelect Selection Algorithm (kth smallest item/order statistic)

Visit the Algorithm page

Rotate a matrix by 90 degrees clockwise
2021-01-14
# Rotate a matrix by 90 degrees clockwise

Visit the Algorithm page

Read a matrix as a spiral
2021-01-07
# Read a matrix as a spiral

Visit the Algorithm page

Count number of contiguous countries by colors
2021-01-01
# Count number of contiguous countries by colors

Visit the Algorithm page

Length of the longest common substring
2020-12-24
# Length of the longest common substring

Visit the Algorithm page

Find minimum missing positive number in a sequence
2020-12-20
# Find minimum missing positive number in a sequence

Visit the Algorithm page

Binary search a generic Array
2020-12-17
# Binary search a generic Array

Visit the Algorithm page

Run-length encoding (RLE) Decoder
2020-12-15
# Run-length encoding (RLE) Decoder

Visit the Algorithm page

Run-length encoding (RLE) Encoder
2020-12-13
# Run-length encoding (RLE) Encoder

Visit the Algorithm page

Find the contiguous slice with the minimum average
2020-12-10
# Find the contiguous slice with the minimum average

Visit the Algorithm page

Tic Tac Toe board check
2020-12-06
# Tic Tac Toe board check

Visit the Algorithm page

Find the minimum absolute difference of two partitions
2020-12-03
# Find the minimum absolute difference of two partitions

Visit the Algorithm page

Compute a Roman numeral for an Integer, and vice-versa
2020-11-29
# Compute a Roman numeral for an Integer, and vice-versa

Visit the Algorithm page

Quick Sort sorting algorithm in pure immutable Scala
2020-11-26
# Quick Sort sorting algorithm in pure immutable Scala

Visit the Algorithm page

Fibonacci in purely functional immutable Scala
2020-11-22
# Fibonacci in purely functional immutable Scala

Visit the Algorithm page

In a range of numbers, count the numbers divisible by a specific integer
2020-11-19
# In a range of numbers, count the numbers divisible by a specific integer

Visit the Algorithm page

Is an Array a permutation?
2020-11-15
# Is an Array a permutation?

Visit the Algorithm page

Merge Sort: stack-safe, tail-recursive, in pure immutable Scala, N-way
2020-11-12
# Merge Sort: stack-safe, tail-recursive, in pure immutable Scala, N-way

Visit the Algorithm page

Closest pair of coordinates in a 2D plane
2020-11-05
# Closest pair of coordinates in a 2D plane

Visit the Algorithm page

Counting inversions of a sequence (array) using a Merge Sort
2020-10-30
# Counting inversions of a sequence (array) using a Merge Sort

Visit the Algorithm page

Rotate Array right in pure-functional Scala - using an unusual immutable efficient approach
2020-10-26
# Rotate Array right in pure-functional Scala - using an unusual immutable efficient approach

Visit the Algorithm page

Count factors/divisors of an integer
2020-10-22
# Count factors/divisors of an integer

Visit the Algorithm page

Merge Sort: in pure immutable Scala
2020-10-15
# Merge Sort: in pure immutable Scala

Visit the Algorithm page

Longest increasing sub-sequence length
2020-10-01
# Longest increasing sub-sequence length

Visit the Algorithm page