
Fast and Slow Pointers: Solving the 'Linked List Cycle' Problem
Solve Linked List Cycle with fast and slow pointers in TypeScript, comparing visited‑node storage with Floyd's cycle detection and common mistakes.
Articles
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 preparation, wherever the order or cost of work matters. A lot of the articles here overlap with LeetCode, but the category is broader than that; it is about recognising the techniques that make difficult problems easier to reason about in JavaScript and TypeScript.

Solve Linked List Cycle with fast and slow pointers in TypeScript, comparing visited‑node storage with Floyd's cycle detection and common mistakes.

How to solve Number of Islands with grid traversal, treating the matrix like a graph, marking visited land safely, and reasoning about DFS in TypeScript.

How to solve Longest Substring Without Repeating Characters with sliding window basics, comparing Set and last‑seen‑index approaches in TypeScript.

How to solve Trapping Rain Water with the two‑pointer approach, and the simple invariant that makes the O(n) solution click under interview pressure.

Solve Merge Intervals in TypeScript by sorting ranges, merging overlaps, handling touching intervals, preserving inputs, and avoiding common mistakes.

How to solve Product of Array Except Self without division, using prefix and suffix products to keep the logic linear and interview‑safe in TypeScript.

nth Node from the End of a ListHow to remove the Nth node from the end of a linked list in TypeScript. Here we break down and explore a simple double‑pass and an efficient single‑pass method.

Distinguishing two approaches to detect palindrome numbers: the intuitive string method vs. the optimised mathematical technique, highlighting their merits.

Find the median of two sorted arrays in JavaScript, from a simple merge approach to edge cases and the logarithmic approach interviewers often expect.

Convert Roman numerals to integers in JavaScript, covering subtractive notation, invalid input caveats, and a clear TypeScript implementation.

Convert integers to Roman numerals in JavaScript, covering symbol rules, greedy matching, edge cases, and a clear TypeScript implementation.

Solve Container With Most Water in TypeScript using the two‑pointer pattern, with pointer movement, complexity, edge cases, and testable logic explained.

Master the 4Sum problem in JavaScript: Explore the two‑pointer technique, solve with ES6/TypeScript, and test using Cypress. Elevate your coding skills.

Solve 3Sum Closest in JavaScript with sorting and two pointers, reducing brute‑force work whilst finding the nearest total efficiently in TypeScript.

Solve LeetCode Add Two Numbers in TypeScript with linked‑list traversal, carry handling, edge cases, and a clear implementation you can test and extend.

Solve the 3Sum problem in JavaScript with sorting, two pointers, duplicate skipping, Jest coverage, edge cases, and a clear TypeScript implementation.

Solve Longest Substring Without Repeating Characters in JavaScript with a sliding window, unique‑character tracking, and substring return variants.

A simple solution to solve the Valid Palindrome problem in JavaScript using the two‑pointer approach in ES6 and TypeScript, checking alphanumeric characters.