This is the respository that I put my systematic algorithm learning into practice by solving various interview questions. This is also the place where I practice different programming languages.
- Model the problem.
- Find an algorithm to solve it.
- Fast enough? Fits in memory?
- If not, figure out why not.
- Find a way to address the problem.
- Iterate until satisfied
The repo contains a mixture of different programming languages. To build and test solutions written in specific language, follow steps below:
To build all C, C++ solutions, run
$ mkdir -p build && cd build && cmake .. && make -j4
To build Java solutions, find Makefile
inside the directory that program resides, and run make
To test all Rust solutions, run
$ cd rust
$ cargo test
To test all Go solutions, run
$ cd shuati
$ go test ./...