Algorithms

Thinking About Partitions

Given an array with n objects colored red, white, or blue, sort them in-place in a single pass. Objects of the same color should be adjacent to each other and the sorted colors should be in the order of red, white, and blue.

Read
Algorithms

Querying Range Sums (2D)

Design a matrix-like data structure that allows you to update elements and query submatrix sums efficiently.

Read
Algorithms

Querying Range Sums

Design an array-like data structure that allows you to update elements and query subarray sums efficiently.

Read
Algorithms

Longest Subarray with a Sum Constraint

Given an array of numbers A and a key k, find the length of the longest subarray whose sum is less than or equal to k.

Read
Algorithms

Smaller Numbers After Self

You are given an integer array A and you have to return a new counts array. The counts array has the property where counts[i] is the number of smaller elements to the right of A[i].

Read
Algorithms

Detecting Arbitrage in Foreign Exchange Markets

Suppose you are given a 2D matrix representing exchange rates between currencies. You want to determine if arbitrage exists in the market (i.e. if there is a way to start with a single unit of some currency C and convert it back to more than one unit of C through a sequence of exchanges).

Read
Algorithms

Regular Expression Matching

Given an input string s and a pattern p, implement regular expression matching with support for '.' and '*'.

Read
Algorithms

The Skyline Problem

A city's skyline is the outer contour of the silhouette formed by all the buildings in that city when viewed from a distance. Suppose you are given the locations and height of all the buildings in a cityscape. Write a program to output the skyline formed by these buildings.

Read