Looking for good programming challenges?

Use the search below to find our solutions for selected questions!

All posts in Algorithms

Count Directories

Problem Statement Given a directory change command cd a/b/../c/d/e/../../ output the visit count of each directory such as: {a=2, b=1, c=2, d=2, e=1}. Solution

Balls and Bins

Problem Statement Given m balls and n bin, find out how many ways exist to assign the balls to then bins. Note: the buckets have no order. That is, (1,2,3) and (3,2,1) are considered the same. Example Solution This can be solved using dynamic programming. The solution builds up upon . . . Read more

Shortest Path in Directed Acyclic Graph

Problem Statement Given a weighted Directed Acyclic Graphs (DAG), find the shortest path to a particular point from the given starting point. One thing you can do is apply an O(N*N) algorithm and find the shortest distance by calculating all the distances from each node to every other node. As . . . Read more

Coin in Line

Problem Statement A and B are playing a game. At the beginning there are n coins. Given two more numbers x and y. In each move a player can pick x or y or 1 coins. A always starts the game. The player who picks the last coin wins the game. For . . . Read more

Replace And Remove

Problem Statement Consider the following two rules that are to be applied to strings over the alphabets: [‘a’, ‘b’, ‘c’, ‘d’] Replace each ‘a’ with ‘dd’ Delete each ‘b’ Solution

Out of Boundary Paths

Problem Statement There is an m by n grid with a ball. Given the start coordinate (i,j) of the ball, you can move the ball to adjacent cell or cross the grid boundary in four directions (up, down, left, right). However, you can at most move N times. Find out . . . Read more

Unique Paths II

Problem Statement A robot is located at the top-left corner of a m x n grid (marked ‘Start’ in the diagram below). The robot can only move either down or right at any point in time. The robot is trying to reach the bottom-right corner of the grid (marked ‘Finish’ . . . Read more

Minimum Swaps To Make Sequences Increasing

Problem Statement We have two integer sequences A and B of the same non-zero length. We are allowed to swap elements A[i] and B[i]. Note that both elements are in the same index position in their respective sequences. At the end of some number of swaps, A and B are . . . Read more

Pascal Triangle

Problem StatementThe figure below illustrates the first five rows of a graphic that is known as Pascal’s triangle. Each entry in each row before the last one is adjacent to one or two numbers in the lower row. It is a fact that each entry holds the sum of the . . . Read more

Target Sum

Problem Statement You are given a list of non-negative integers, a1, a2, …, an, and a target, S. Now you have 2 symbols + and -. For each integer, you should choose one from + and – as its new symbol. Find out how many ways to assign symbols to . . . Read more