explaingit

hoanhan101/algo

Analysis updated 2026-07-03

3,669GoAudience · developerComplexity · 1/5Setup · easy

TLDR

A collection of 116+ coding interview problems solved in Go as runnable test files, each with a detailed explanation and time and space complexity analysis.

Mindmap

mindmap
  root((algo))
    What it does
      116+ interview problems
      Runnable Go test files
      Complexity analysis
    Topics covered
      Arrays
      Linked lists
      Trees and graphs
      Dynamic programming
      Bit manipulation
      Sorting
    Problem sources
      LeetCode
      Interview Cake
      Cracking the Coding Interview
      Grokking the Coding Interview
    Use cases
      Interview preparation
      Algorithm study
      Go language practice
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Study and run Go solutions to common interview problems covering arrays, trees, graphs, and dynamic programming.

USE CASE 2

Review the thought-process notes and complexity analysis for each solution to understand why one approach is better than another.

USE CASE 3

Run the test files directly with 'go test' to verify solutions pass before an interview.

USE CASE 4

Use the problem set as a structured study guide drawing from LeetCode, Interview Cake, and Cracking the Coding Interview.

What is it built with?

Go

How does it compare?

hoanhan101/algogo-jet/jetmicrocosm-cc/bluemonday
Stars3,6693,6693,669
LanguageGoGoGo
Setup difficultyeasymoderateeasy
Complexity1/53/52/5
Audiencedeveloperdeveloperdeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · easy Time to first run · 5min

Requires Go installed, run any solution with 'go test ./...' from the repo root, no external dependencies needed.

In plain English

This repository is a collection of over 116 coding interview problems, all implemented in Go, with detailed solutions and explanations. The author assembled it as a personal study resource while preparing for software engineering interviews, with the goal of covering the problems that appear most often and are most worth practicing. Each problem comes with a working solution written as a Go test file, so you can run the code directly to verify that it passes. The author also includes notes on the thought process behind each solution, along with time and space complexity analysis, which describes how the solution performs as the input grows larger. This makes the collection useful not just for getting to a working answer, but for understanding why a particular approach is efficient or not. The problems are organized by source. The collection draws from well-known interview preparation books and websites, including Interview Cake, LeetCode, Cracking the Coding Interview, Grokking the Coding Interview, and Elements of Programming Interviews. Within each source, problems are grouped by topic: arrays, linked lists, trees, graphs, dynamic programming, bit manipulation, sorting, and others. Because the solutions are written in Go and structured as test files, you need Go installed to run them. There is a continuous integration badge indicating the tests are automatically checked on each update. The repository does not include interactive exercises or a web interface, it is a code-first reference you read and run locally. The README also links to a paid ebook called the Ultimate Go Study Guide, which the author sells separately. The ebook is optional and not required to use any of the code in this repository.

Copy-paste prompts

Prompt 1
Using Go, write a solution to the 'longest substring without repeating characters' problem with O(n) time complexity, structured as a Go test function.
Prompt 2
Walk me through a Go implementation of binary tree level-order traversal using a queue, with time and space complexity analysis.
Prompt 3
Write a Go solution for the coin change dynamic programming problem, explaining the recurrence relation step by step.
Prompt 4
Show me how to detect a cycle in a singly linked list in Go using Floyd's two-pointer algorithm, with a runnable test case.
Prompt 5
Write Go test functions covering BFS traversal, DFS traversal, and finding connected components for a graph represented as an adjacency list.

Frequently asked questions

What is algo?

A collection of 116+ coding interview problems solved in Go as runnable test files, each with a detailed explanation and time and space complexity analysis.

What language is algo written in?

Mainly Go. The stack also includes Go.

How hard is algo to set up?

Setup difficulty is rated easy, with roughly 5min to a first successful run.

Who is algo for?

Mainly developer.

Open on GitHub → Explain another repo

This repo across BitVibe Labs

Scan in gitsafehub Deploy in gitdeployhub hoanhan101 on gitmyhub

Verify against the repo before relying on details.