# All posts tagged algorithms

Problem statement Given a collection of intervals, merge all overlapping intervals. Sample Input [1,3],[2,6],[8,10],[15,18] Output [1,6],[8,10],[15,18] Solution Concept We sort the intervals by decreasing order of start times. That way we can quickly check if intervals overlap or not by comparing start time of previous interval with end time of . . . Read more

Problem statement Ema built a quantum computer! Help her test its capabilities by solving the problem below. Given a grid of size , each cell in the grid is either or . A valid plus is defined here as the crossing of two segments (horizontal and vertical) of equal lengths. . . . Read more

Problem statement You can perform the following operation on some string, : 1. Capitalize zero or more of ‘s lowercase letters at some index i (i.e., make them uppercase). 2. Delete all of the remaining lowercase letters in . Given queries in the form of two strings, and , determine . . . Read more

In the previous post I discussed an algorithm that had a running time of . Well here is an algorithm to the Goodland Electricity challenge. Greedy algorithm For each city i store its preceding tower in previousTowerFor[i]. If i has a tower then previousTowerFor[i] = i. If no tower precedes, . . . Read more

Problem statement Given an input string, reverse the string word by word. For example, given s = “the sky is blue”, return “blue is sky the”. Solution algorithm Write a function reverse(string, start, end) that reverses string[start:end]. Reverse entire input string. Iterate over (reversed)words in reversed string and correct them . . . Read more

Problem statement Goodland is a country with cities, and each city is sequentially numbered from to . These cities are connected by roads, and each road connects city to its neighboring city, . The distance between any two cities and is . Goodland’s government started a project to improve the . . . Read more

Problem statement The city of Gridland is represented as an matrix where the rows are numbered from to and the columns are numbered from to . Gridland has a network of train tracks that always run in straight horizontal lines along a row. In other words, the start and end . . . Read more

Knowing how to create a maze is as essential as breathing. So here is a simple algorithm to create mazes along with a link to a GitHub repository for its implementation in Swift. Algorithm 1. Start at cell (1, 1). 2. Find a neighbor at random that you haven’t yet . . . Read more

Problem Statement Given a graph G = (V, E), list all cycles within G. Algorithm 1. Compute a cycle basis of graph G = (V, E) * Find a minimal spanning tree (V, E’) of G, using Depth-first search (DFS) and its associated set of back edges * If e . . . Read more

Given S of size n and k, return the kth lexicographic permutation sequence. (Note: Given n will be between 1 and 10 inclusive.) For n = 10 variable symbols we have 10! possible permutations. The first step is to find the first symbol. If we fix a first symbol, then . . . Read more