Problem solving

DSA

Data structures, algorithms, patterns, and deliberate practice.

13 articles
All articles 13 learning notes in this topic
01
learningcsdsa

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 article
02
learningcsdsa

Prefix & 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 article
03
learningcsdsa

Day 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 article
04
learningcsdsa

Day 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 article
09
learningcsdsa

Day 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 article
10
learningcsdsa

Day 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 article
11
learningcsdsa

Day 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 article
12
learningcsdsa

Day 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 article