Relevant articles: Java Two Pointer Technique Implementing Simple State Machines with Java Enums Converting Between Roman and Arabic Numerals in Java Practical Java Examples of the Big O Notation An Introduction to the Theory of Big-O Notation