
Articles
Algorithms
Algorithms are the repeatable problem‑solving patterns we use when brute force is no longer good enough. In web development they show up far beyond interview prep: searching, sorting, caching, scheduling, parsing, and state‑heavy UI logic all rely on algorithmic judgement. A lot of the articles here overlap with LeetCode, but the category is broader than that; it is about learning the techniques that make difficult problems easier to reason about in JavaScript and TypeScript.
Below you will find a subset of articles from my blog specifically about Algorithms. This is an area that I have worked with for many years, and have managed to write about quite a few times. There are thirty‑seven collected together for you below.

Sliding Window Fundamentals: Solving 'Longest Substring Without Repeating Characters'. 
LeetCode: The 'Trapping Rain Water' Problem with Two‑Pointer Approach. LeetCode: The 'Trapping Rain Water' Problem with Two‑Pointer Approach

Intervals in Practice: Solving the 'Merge Intervals' Problem. Intervals in Practice: Solving the 'Merge Intervals' Problem

Prefix and Suffix Products: Solving 'Product of Array Except Self'. Prefix and Suffix Products: Solving 'Product of Array Except Self'

LeetCode: Removing the nth Node from the End of a List. LeetCode: Removing the
nthNode from the End of a List
The Palindrome Number Problem: Strings vs. Maths in JavaScript. The Palindrome Number Problem: Strings vs. Maths in JavaScript

Finding the Median of Two Sorted Arrays with JavaScript. Finding the Median of Two Sorted Arrays with JavaScript

LeetCode: Converting Roman Numerals to Integers. LeetCode: Converting Roman Numerals to Integers

LeetCode: Converting Integers to Roman Numerals. LeetCode: Converting Integers to Roman Numerals

LeetCode Container with Most Water: The Two‑Pointer Solution. LeetCode Container with Most Water: The Two‑Pointer Solution

Using JavaScript and the Two‑Pointer Technique to Solve 4Sum. Using JavaScript and the Two‑Pointer Technique to Solve 4Sum

3Sum Closest in JavaScript: Sorting and Two Pointers. 3Sum Closest in JavaScript: Sorting and Two Pointers

Add Two Numbers in TypeScript: Linked Lists Without the Hand‑Waving. Add Two Numbers in TypeScript: Linked Lists Without the Hand‑Waving

3Sum in JavaScript: Two Pointers After Sorting. 3Sum in JavaScript: Two Pointers After Sorting

Longest Substring Without Repeating Characters in JavaScript. Longest Substring Without Repeating Characters in JavaScript

Valid Palindrome in JavaScript: Two Pointers and Normalisation. Valid Palindrome in JavaScript: Two Pointers and Normalisation

The LeetCode Zigzag Conversion Problem in TypeScript. The LeetCode Zigzag Conversion Problem in TypeScript

LeetCode: Reversing Integers with JavaScript. LeetCode: Reversing Integers with JavaScript