Solutions to all of my programming competition and interview questions, and some algorithms / data structures implemented for practice.
- algos - algorithms and data structures implemented for practice / training (mostly from Skiena's Algorithm Design Manual, Wikipedia, or research papers)
- codeforces, exercism, hackerrank, leetcode - solutions to problems from various programming problem websites
- patterns - implementations of software design patterns (predominantly from Design Patterns: Elements of Reusable Object-Oriented Software (i.e. the "Gang of Four" book))
To actually run code in this repo, I use:
- The Dockerized workspace that is automated via the top-level Makefile
- The Makefile system (see below for docs)
This repo contains the following docs:
- SUPER.md: a modified form of Polya's problem solving method that I use for programming problems
- learning-dp.md: some general advice for mastering dynamic programming
- unix-philosophy.md: a reproduction of Eric S. Raymond's "Unix Philosophy"
- make-system.md: documentation for this repo's Makefile system
After some discussions with my therapist about quality vs quantity in goals, I've decided that I'm going to switch to CodeForces instead of LeetCode and attempt to reach Master status by the end of 2019 (instead of just a number of problems). I will still be attempting 52 programming contests (having done one in 2018), with at least 10 being non-virtual ones (when I feel ready).
- #511