Top 4 DSA topics and questions which helped to achieve 300% hike.

Manan Kumar Gupta
2 min readNov 20, 2022

--

In this post I will be discussing about top 4 topics which helped me to improve my coding skills and which finally got me a job with 300% hike.

Little about my background

I completed my B.Tech with Electronics and Communication as major in 2021. After that I joined a IT based company as Frontend Developer and was working on JavaScript based tech stack.
I was always good with Problem Solving and logical thinking but solving the questions which are asked in Interviews by the Product based companies is something which requires practice and practice on regular basis so here comes the role of LeetCode.

So here are the topics which

Binary Search

Binary Search helps you understand how important it is remove the unwanted data and try to decrease search space by half in each iteration.

Important Questions:
1. https://leetcode.com/problems/search-a-2d-matrix/
2. https://leetcode.com/problems/find-minimum-in-rotated-sorted-array/
3. https://leetcode.com/problems/search-in-rotated-sorted-array
4. https://leetcode.com/problems/minimum-size-subarray-sum/
5. https://leetcode.com/problems/find-in-mountain-array/

Backtracking

Backtracking helps you practice and improve your understanding of Recursion.

Backtracking is about to explore all the possible paths at a point and revert back if that path is not leading to desired case and move in another direction looking for success.

Important Questions:
1. https://leetcode.com/problems/combination-sum/
2. https://leetcode.com/problems/letter-combinations-of-a-phone-number/
3. https://leetcode.com/problems/target-sum/
4. https://leetcode.com/problems/path-sum-ii

BFS/ DFS

BFS/ DFS are one the basis algorithms one studies while reading about graphs and trees, having strong understanding of recursion helps alot to master this topic.

Important Questions:
1. https://leetcode.com/problems/maximum-width-of-binary-tree
2. https://leetcode.com/tag/breadth-first-search/
3. https://leetcode.com/problems/number-of-distinct-islands
4. https://leetcode.com/problems/surrounded-regions/
5. https://leetcode.com/problems/longest-increasing-path-in-a-matrix/

Dynamic Programming

Dynamic Programming helps you understand how important is memory optimisation and time complexity and how to improve it.

You will learn how can you structure your code in such way that you wont need to compute the same process again and again.

Important Questions:
1. https://leetcode.com/problems/minimum-path-sum/
2. https://leetcode.com/problems/house-robber/
3. https://leetcode.com/problems/unique-paths-ii/
4. https://leetcode.com/problems/best-time-to-buy-and-sell-stock-ii/
5. https://leetcode.com/problems/find-in-mountain-array/

Thank you for reading, hope it was helpful to you.

--

--

Manan Kumar Gupta

I am Frontend Developer, exploring the power of Javascript. I have worked on Angular, ReactJS and React Native.