ARRAYS


Arrays — The First Step

Starting with the basics.

After introducing my DSA journey, it’s time to actually begin.

The first topic I’m working on is Arrays. They’re one of the most fundamental data structures, and a lot of more advanced concepts and problem-solving patterns build on the ideas behind them.

What I Learned

I started by revisiting how arrays work and focusing on the things that matter when solving problems:

  • Accessing and updating elements
  • Traversing an array
  • Inserting and deleting elements
  • Finding minimum and maximum values
  • Searching for elements
  • Understanding indices and boundaries
  • Analyzing time and space complexity

The concepts themselves aren’t particularly complicated. The interesting part comes when they’re used to solve problems efficiently.

What I Realized

One thing I noticed while solving problems is that knowing a data structure is different from knowing when to use it.

A simple problem can often have multiple solutions. The goal isn’t just to find an answer that works, but to understand whether there is a better way to approach it.

For example, a solution that takes O(n²) might work for a small input, but the same approach can become impractical when the input size increases.

That’s where complexity analysis starts becoming important.

Problems I Solved

I’ve started applying these concepts to problems on LeetCode.

Instead of only looking at whether my solution was accepted, I’m also trying to ask:

  • Can I make this solution faster?
  • Can I reduce the space used?
  • Is there a pattern I’m missing?
  • What would happen with a much larger input?

These questions are slowly changing the way I approach problems.

A Small Lesson

One mistake I don’t want to make during this journey is rushing through topics just to say that I’ve completed them.

I’d rather solve fewer problems and actually understand the patterns behind them.

The goal isn’t to complete DSA. The goal is to become better at solving problems.

What’s Next?

I’ll continue exploring arrays and gradually move into common problem-solving patterns such as two pointers, sliding window, prefix sums, and hashing.

One topic at a time. One problem at a time.

The journey has officially started.


LeetCode: md_owais

I’m also sharing my DSA progress on LinkedIn.