Problem solving
DSA
Data structures, algorithms, patterns, and deliberate practice.
Understanding the Two Pointer Pattern in DSA
While solving array problems in Data Structures and Algorithms (DSA), I discovered a powerful technique called the Two Pointer Pattern. It helps reduce unnecessary work and often turns slow solutions...
Read articlePrefix & Suffix
I wrote this guide to help myself (and anyone else learning) understand the prefix/suffix technique — from zero to being able to recognize and solve it in an interview. I’ll...
Read articleDay 10 of DSA: LinkedList
A Linked List is a linear data structure, just like an array, but instead of storing elements in contiguous memory locations, it stores elements (nodes) connected using pointers.
Read articleDay 9 of DSA: Sliding Window - Arrays
Sliding window is one of the most powerful techniques used in array and string-related problems. It helps optimize solutions by maintaining a subset of data and sliding it through the...
Read articleDay 8 of DSA: Advanced Sorting Algorithms
Introduction
Read articleLinked Lists — Concepts and Implementation
Why linked lists matter
Read articleDay 5 of DSA: Binary Search
Binary search is an efficient searching algorithm that works on sorted arrays. Also known as logarithmic search, it dramatically reduces search time by repeatedly dividing the search space in half....
Read articleDay 4 of DSA: Searching
Searching helps us find whether an element exists and, if so, at which index. This post focuses only on linear search.
Read articleDay 3 of DSA: ArrayList
Today I learned ArrayList in Java. It is similar to Python lists in that you do not predeclare the size, and you can expand it with add() just like append()...
Read articleDay 2 of DSA: 2D Arrays
Today, I moved from 1D arrays to 2D arrays. it’s really just an array inside an array. Let me share what I learned today.
Read articleDay 1 of DSA: Arrays Fundamentals
Day 1: Arrays
Read article