# All posts in Algorithms

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

Full code https://github.com/lucaslouca/sort-large-file