This repository contains my solutions to various small-scale programming challenges/problems/exercises that I find and/or come up with, mainly as a way to showcase my skills and programming style.
Challenges:
- Subsequence Indices (tests) [TypeScript, property-based testing, data structures & algorithms]
- Fibonacci Order (tests) [TypeScript, unit testing, property-based testing, data structures & algorithms, complexity analysis, object-oriented programming]
- Extract Strings (tests) [TypeScript, unit testing, property-based testing, data structures & algorithms, parsing, state machines]
- Rainfall + tests [Rust, unit testing, data structures & algorithms, dynamic programming, complexity analysis, macros]
- Island Sizes + tests [Rust, unit testing, data structures & algorithms, flood fill, complexity analysis, macros, object-oriented programming]
- Square-difference-free (tests) [TypeScript, data structures & algorithms, object-oriented programming]
- Split on New Chars (tests) [TypeScript, property-based testing, data structures & algorithms]
- Mutable Aliasing + tests [Rust, unit testing, state machines]
- Bloxorz Model (src + tests) [Rust, unit testing, object-oriented programming]
- Bloxorz Solver + tests [Rust, unit testing, data structures & algorithms, breadth-first search]
Helper code:
- Grid + tests [Rust, unit testing, object-oriented programming]
Default notation/terminology conventions:
- The natural numbers include 0.
- 2D coordinates are labelled as follows:
(0, 0) (1, 0) (2, 0) ... (0, 1) (1, 1) (2, 1) ... (0, 2) (1, 2) (2, 2) ... ... ... ... ...
For larger-scale personal projects done in Python, check out my AlgeZip and Lusbir repositories.