Jb Tak Fodega Nhi π― Tb Tk Chodega Nhi π (MAANG)
DSAwithPrinceSingh
DSAwithPrinceSingh Contains Very Handily Crafted and Picked Top Coding Interview Questions from different Topics of Data Structures & Algorithms. These Questions are one of the Most Asked Coding Interview Questions in Coding Interviews of Companies Meta, Amazon, Apple, Netflix, Google (MAANG) and cover almost all of the concepts related to Data Structure & Algorithms (DSA).
Key Highlights of DSAwithPrinceSinghπ Problem Diversity: Our problem library consists of a balanced mix of 20% Easy, 60% Medium, and 20% Hard Problems. This approach ensures that you're well-rounded in your DSA knowledge and can tackle a wide range of interview questions.
π§ Why Data Structure & Algorithms is So Important? π
DSA (Data Structure & Algorithms) is Crucial Because it Improves Efficiency, Problem Solving Skills, Code Reusability, Scalability, Interview Performance, Code Optimization, and Serves as a Foundation for Advanced Topics. It forms the bedrock of Computer Science and Software Development, Enabling Developers to Build Robust and Efficient Applications.
@DSAwithPrinceSingh Overall Completion Status
π Excited to unveil my meticulously crafted treasure trove! π Mastered ALL the Concepts and Topics with a Laser Sharp focus on Pattern Recognition! π§ π‘
π Don't be afraid... π Because DSA is here! π§ β¨ Mai Hu Na Ho Jayiga! π Embark on the coding adventure with confidence! π»π Let's conquer the challenges together! πͺπ
Most Advanced & Hot Topics π₯ (MAANG)
Recursion: A Function calling itself again and
again directly or indirectly is called
Recursion, and the function which it calls is called a
recursive function, it is used in divide
and conquer algorithms/techniques.
Base cases:
The base case is also called a stopping condition for
recursive calls. It is very important to
have a base case for every recursive code. Without
base cases the recursive calls will be made
again and again many times till the Stack space
allocated is filled with these recursive calls
which will result in Stack overflow error, here memory
gets wasted, to overcome the stack
overflow error base cases plays an important role.
Completion Status:
Importance:
- Introduction of Recursion
- Problems on Recursion
- Parameterized and Functional Recursion
- Problems on Functional Recursion
- Multiple Recursion Calls
- Recursion on Subsequences
- All Kind of Patterns in Recursion
- Cobination Sum I
- Combination Sum II
- Combination Sum III
- Combination Sum IV
- Combination Sum IV
- Subsets I or Subsets Sum I
- Subsets II or Subsets Sum II
- Permutations I
- Permutations II
- N-Queens I
- N-Queens II
- Sudoku Solver
- M-Coloring Problem
- Palindrome Partitioning
- Permutation Sequence or Kth Permutation Sequence
- Rat in a Maze Problem - I
- Letter Combinations of a Phone Number Comming Soon....
Binary Tree & Binary Seach Tree
Lorem ipsum dolor sit amet consectetur, adipisicing elit. Quibusdam impedit praesentium aliquid consequatur reprehenderit error exercitationem ratione nemo labore itaque.
Completion Status:
Importance:
Dynamic Programming Introduction
Problem Statement: Introduction To Dynamic ProgrammingIn this article, we will be going to understand the concept of dynamic programming.
Dynamic Programming can be described as storing answers to various sub-problems to be used later whenever required to solve the main problem.
The two common dynamic programming approaches are:
Note: The base case does not always mean smaller input. It depends upon the implementation of the algorithm.
Completion Status:
Importance:
Introduction of Dynamic Programming
1D Dynamic Programming
- DP2 Climbing Stairs
- DP3 Frog Jump I
- DP4 Frog Jump with K Distance
- DP5 Maximum Sum of Non-Adjacent Elements or House Robber I (DP on Subsequences)
- DP6 House Robber II (DP on Subsequences)
2D/3D DP And DP On Grids
- DP7 Ninja's Training or Vacation Atcoder 2D DP π§ π₯
- DP8 Grid Unique Paths I
- DP9 Unique Paths 2 DP on Grid with Maze Obstacles
- DP10 Minimum Path Sum in Grid
- DP11 Triangle Fixed Starting Point and Variable Ending Point
- DP12 Minimum Maximum Falling Path Sum Variable Starting and Ending Points
- DP13 Cherry Pickup II 3D DP Made Easy
DP On Subsequences
what a Subsequence/Subset?
A subset/subsequence is a contiguous or
non-contiguous part of an array, where elements
appear in the same order as the original array.
- DP14 Subset Sum Equals to Target π§ π₯
- DP15 Partition Equal Subset
- Dp16 Partition A Set Into Two Subsets With Minimum Absolute Sum Difference π₯
- DP17 Counts Subsets with Sum K
- DP18 Count Partitions With Given Difference
- DP19 0/1 Knapsack Problem π₯
- DP20 Minimum Coins I "Infinite Supplies Pattern"
- DP21 Target Sum
- DP22 Coin Change II "Infinite Supplies Pattern"
- DP23 Unbounded Knapsack
- DP24 Rod Cutting
DP On Strings
What is Subsequence?
A subsequence of a string is a list of
characters of the string where some characters
are
deleted ( or not deleted at all) and they should
be in the same order in the subsequence as
in the original string.
- DP25 Longest Common Subsequence π§ π₯
- DP26 Print Longest Common Subsequence
- DP27 Longest Common Substring π₯
- DP28 Longest Palindromic Subsequence
- DP29 Minimum insertions to make string Palindrome
- DP30 Minimum Insertions & Deletions to Convert String A to String B
- DP31 Shortest Common Supersequence
- DP32 Distinct Subsequences π₯
- DP33 Edit Distance π₯
- DP34 Wildcard Matching π₯
DP on Stocks
What is DP on Stocks?
This Portion we Solved the Problems on the DP on
Stocks and Try to Create the Pattern on
Stockes that help to Solved the Any Problems
Based on the Stocks. and Try to Figure Out the
Different-Different Pattern on Stocks.
Important Point's
- DP35 Best Time to Buy and Sell Stock I
- DP36 Best Time to Buy and Sell Stock II
- DP37 Best Time to Buy and Sell Stock III
- DP38 Best Time to Buy and Sell Stock IV
- DP39 Buy and Sell Stocks With Cooldown
- DP40 Buy and Sell Stocks With Transaction Fees
DP on Longest Increasing Subsequence (LIS)
What is DP on Longest Increasing Subsequence?
This Portion we Solved the Problems on the DP on
Longest Increasing Subsequence and Try to Create the Pattern on
Longest Increasing Subsequence that help to Solved the Any Problems
Based on the Longest Increasing Subsequence. and Try to Figure Out the
Different-Different Pattern on LIS.
DP on Matrix Chain Multiplication (MCM)
What is DP on Matrix Chain Multiplication?
This Portion we Solved the Problems on the DP on
Matrix Chain Multiplication and Try to Create the Pattern on
Matrix Chain Multiplication that help to Solved the Any Problems
Based on the Matrix Chain Multiplication. and Try to Figure Out the
Different-Different Pattern on MCM.
DP on Squares
What is DP on Matrix Chain Multiplication?
This Portion we Solved the Problems on the DP on
Squares and Try to Create the Pattern on
Squares that help to Solved the Any Problems
Based on the Squares. and Try to Figure Out the
Different-Different Pattern on it.
Lorem ipsum dolor sit amet consectetur adipisicing elit. Enim nihil ipsam repellat totam alias, tempora eligendi quisquam! Illum, cupiditate excepturi consequuntur suscipit vero modi id voluptatibus eveniet asperiores, et nobis iusto exercitationem pariatur sapiente dicta facere impedit, delectus voluptatem harum libero aliquid ipsum voluptate. Placeat rerum temporibus a eius explicabo?
Completion Status:
Importance:
- Fill the kettle with water and replace on the stand.
- Switch on the power button.
- Wait approx. 3 minutes. In the meantime, take a large mug and place the teabag in the cup.
- When the kettle has boiled, fill the mug with boiling water. Do not leave water to stand for more than one minute, or you must boil again.
- Leave for 3β4 minutes, stirring occasionally.
- Remove teabag.
- Add milk according to taste.
- Serve immediately.
Advanced Topics π§ (MAANG)
Binary Search
Binary search is a widely used algorithm for finding a specific target value within a sorted array or list. It is an efficient and fast search algorithm, known for its logarithmic time complexity. Binary search works by repeatedly dividing the search interval in half until the target element is found or the search interval is empty.
- If they are equal, you have found the target, and the search is successful.
- If the middle element is greater than the target, narrow the search to the lower half of the array, discarding the upper half.
- If the middle element is less than the target, narrow the search to the upper half of the array, discarding the lower half.
Completion Status:
Importance:
Comming Soon ...
Completion Status:
Importance:
Comming Soon ...
Completion Status:
Importance:
Trie is a sorted tree-based data-structure that stores the set of strings. It has the number of pointers equal to the number of characters of the alphabet
Completion Status:
Importance:
Medium Topics π
Queue: A Queue is a linear data structure that works on the basis of FIFO(First in First out). This means the element added at first will be removed first from the Queue.
A Stack is a non-primitive linear data structure. it is an ordered list in which the addition of a new data item and deletion of the already existing data item is done from only one end known as the top of the stack (TOS). The element which is added in last will be first to be removed and the element which is inserted first will be removed in last. As all the deletion and insertion in a stack is done from the top of the stack, the last added element will be the first to be removed from the stack. That is the reason why stack is also called Last-in-First-out (LIFO).
Completion Status:
Importance:
- SQP1 Stack Implementation Using Array
- SQP2 Queue Implementation Using Array
- SQP3 Implementation Stack Using Queue
- SQP4 Queue Implementation Using Stack
- SQP5 Valid Parentheses
- SQP6 Next Greatest Element I
- SQP7 Next Greater Element II
- SQP8 Next Greater Element III Uploding Soon....
- SQP9 Implementation LRU Cache
- SQP10 Implementation LFU Cache
- SQP11 Largest Rectangle in Histogram
- SQP12 Sliding Window Maximum
- SQP13 Rotting Oranges
A linked list is a linear data structure, in which the elements are not stored at contiguous memory locations. The elements in a linked list are linked using pointers.
Completion Status:
Importance:
Comming Soon ...
Completion Status:
Importance:
Comming Soon ...
Completion Status:
Importance:
Easy Topics π
Lorem ipsum dolor sit amet consectetur adipisicing elit. Vero exercitationem quas non fugit harum porro natus eum, adipisci, voluptatibus aspernatur, ipsum earum aut sunt recusandae maiores vel perspiciatis reiciendis voluptas. Quod qui distinctio maxime id doloremque quia eveniet voluptatum explicabo vero similique voluptate repellendus facilis tempora blanditiis quae aut labore, animi consectetur asperiores voluptatibus repellat error deserunt. Voluptatum ullam esse exercitationem eos earum labore, fugiat incidunt, ab, quod provident quis delectus doloribus animi quia. Odio aliquid accusantium nobis a assumenda delectus eos ratione, vitae nam veniam animi omnis placeat deserunt asperiores minus repellat debitis quasi aspernatur. Harum aliquam ab tenetur.
Completion Status:
Importance:
Lorem ipsum dolor, sit amet consectetur adipisicing elit. Eveniet totam doloribus ad magnam doloremque iusto minus asperiores tenetur, praesentium, atque maxime dolor quibusdam voluptate quasi error sunt voluptatum saepe consequuntur! Molestiae dolorem blanditiis fuga voluptas incidunt voluptatibus nihil assumenda aspernatur sapiente vitae sequi saepe quos maiores non nulla quo repellendus, ratione praesentium dignissimos consequatur reiciendis! Tenetur qui est, repellat quia et deleniti officiis debitis repellendus doloribus quae! Ea repellat quia voluptatibus ratione! Sequi quod quibusdam aut perferendis alias eveniet rem fuga, dolor dolorem commodi neque vitae necessitatibus odit quasi nihil? Nemo tempora odio maiores atque maxime, adipisci quidem recusandae quibusdam.
Completion Status:
Importance:
Lorem ipsum dolor sit amet consectetur adipisicing elit. Voluptatem laudantium tempore placeat nostrum, vel minima rem assumenda! Molestiae voluptatibus natus necessitatibus cum sed earum velit doloribus exercitationem placeat accusantium. Amet consequuntur eveniet, nesciunt natus esse qui quae mollitia excepturi accusantium voluptatem. Amet modi nisi dolorum magnam, eum reprehenderit beatae eius autem minima labore non officiis dolorem et illo iusto temporibus nesciunt cupiditate aliquid vel tenetur! Minus dolor qui nesciunt amet quae laborum nihil ab facere quis itaque totam quidem exercitationem, aut illo optio officia eligendi nam nisi? Quo, consequuntur? Aut magnam quisquam sed magni nostrum commodi mollitia fugiat? Eos, molestias.
Completion Status:
Importance:
π― Right Way to Improve Your Problem-Solving Skills and Improve Your DSA Skills π₯β
π Exciting news! I've dedicated 1.5 years to DSA, guiding and mentoring thousands of students! Also Professionals, During this thrilling journey, I've connected with brilliant minds in the tech field, learning from their experiences and knowledge. π
I've also engaged with International Programmers who are really "Food rahi hai Wo" π and learned valuable insights into their problem-solving approaches and strategies. π
"Ese Kr Kr Ke I collected points and crafted the flow of the Correct way to Execute the Points "Right Approach" To Solve the Problem and Improve Your Skills π"
β Improve Your Problem-Solving Skills π DSA Skills π―
I personally follow this approach, and many students and professionals also follow for better improvement. So, if you follow, then you'll definitely find a better result. Otherwise, you're already smart π
The right way to improve your problem-solving, and you learn a lot if you try this- π Read the Problem Statement Carefully and try to Understand with Example.
- After reading and Understanding the Problem
Statement, try to Solve the Problem but...
- π Try to identify the Pattern and link the concept that is relatable to a problem you already solved or learned the concept (this way to build the connection between the problem and the concept you already learned in the past).
- π§ If you find Something, then try to solve it.
- π Otherwise, try to go with a brute-force approach and try to solve.
- β° 30 to 45 min is enough for any problem; no need to put in more time if you are not able to solve the problem.
- Now here Starts the Main Game .......
- π₯ Watch the Editorial, not the Solution ( Because Sometimes we do not understand the problem correctly then we try the wrong approach) π€
- Example:
- π Problem Statement is "Write the Program for the addition of 2 Numbers," and we Understand "Write the Program for subtraction of 2 Numbers" so here we read the problem incorrectly.
- After watching the Problem Editorial identify-> you read the Problem the correct way or not
- If you understand or read the Problem in the correct way as I explain in Point1.
- π€ Then try to solve the problem and take 10 more min "Because right now you are reading and Understanding the Problem in Correct Way" π‘
- After watching the Editorial if again you are not able to solve the problem within 10 min then you go with the "Solution" π¨
-
But Remember Don't Write the Code watching the
Solution
- First, you watch the Entire Video or Article of the Particular Solution.
- Complete the Solution video or article and close then
- π Take your Copy and pen take some test cases try to dry run for better understanding.
- After Dry Run Code it and Submit π€
Now Here Starts the Main thing that Improves
your Problem-Solving Skills. "If You Follow"
- After all the Processes that I Explain to you.
- ποΈ Take the pen and paper not copy not note
down your today Mistake you do during solving
the
Particular Problem
Example:- 1st Mistake You did not read the Problem Statement in the Correct Way π
- 2nd Mistake you were not able to Implement the Concept by your own after watching the video or Solution.
- Note these 2 Points and end "Today Take Complete -> Ab Mja Kro" π
- Tomorrow Again Follow the Same all process "But today you try and focused on those mistakes that you did yesterday so your task is to do not repeat these same mistakes today again" and follow the same process.
- Obviously, today again, you'll do some mistakes again Write down your mistake. π
- After Following the approach for 1 week or 10 days π
- 2. and if you see carefully your all the 10 days mistake paper then "You see the Big pattern of the Mistake that you did again and again on a repetitive way" π
- Just take your mistake and start working on
that.. πͺ
Example:- You see 60% mistake that you do in the Implementation Part which means you are weak on the Implementation so just start reversing your concept and start solving more and more problems and Implement the Algorithm and Data Structure.
- After Following this Approach 2 or 3 months later you see your Problem Solving Skill and thinking approach also π
This is the Rules and Steps that I follow and
if you follow then "Result will be better no
doubt" π
Now the question is Why I'm focusing on Writing down your mistakes Here is the Answers:-
Behind the Story of DSAwithPrinceSingh
π Remember those days in my 4th semester when
DSA seemed like an intricate puzzle with no
one to guide me? π€ The struggle was real, and I bet
many of you can relate! π
Fast forward to 2020 to 2023, and there is an
abundance of DSA content on YouTube, creating
confusion about which resource to follow. π₯ That's
when I realized the need for a platform
that streamlines the DSA learning experience! π
However, in my fifth semester π¦, I discovered the
perfect resource that caters to my requirements
π―. I decided to take a step forward and delve into
DSA learning. I soon realized that DSA is not
just about watching tutorial videos; it's about
exploring the documentation π.
Motivated by this realization π§ , I decided to create
a platform where only selected and curated
content is available. From basic to advanced, the
platform focuses on the most important and
well-documented informationπ.
π During my exciting journey in DSAπ, I overcame
struggles through hard work and dedication
without any help and Now I'm π Introducing my
Dream Project: "DSAwithPrinceSingh" π
π― With a curated selection of 450+ highly
classical problems, this platform is a
game-changer for DSA enthusiasts! π€π§ Crafted with
precision, it covers all the essential
algorithms and problem-solving patterns. π
This Idea Comes in My Mind When I'm in 4th SEM (2020-2024)
Let's Crack π― MAANG Prince Singh Founder of @DSAwithPrinceSingh
β Explore some of my DSA achievements πOver the Past 3 Years! π
Embarking on my journey in Data Structures &
Algorithms has been an exhilarating adventure.
With a dedication to excellence, I've conquered
thousands of DSA problems across diverse
platforms, including the rigorous 75 Days Hard
Placement Challenge. Over a span of 600+ days, I
committed myself to coding on platforms such as
LeetCode, InterviewBit, CodeStudio, and
GeeksForGeeks.
In the realm of LeetCode, my achievements
include
solving 1000+ problems with a 3.5β Star,
achieving a maximum rating of 1464, and securing
a
position in the top 55%. Another LeetCode
profile boasts a 2β Star with 200+ problems
solved, placing me in the distinguished top 5%
as
a
Knightπ.
GeeksForGeeks showcases my prowess with a global
rank of 115, a monthly rank consistently under
100, and an Institute Rank 1 with a coding score
of 3400+. At CodeStudio, I've overcome 2000+
problems, claiming Institute Rank 1, attaining
Level 8 Master, and establishing myself as a Top
0.5% Coder, with a max rating of 1854 and
recognition as a top performer.
My journey extends to InterviewBit, where I've
mastered 560+ problems, achieved a global rank
of
13, and earned an impressive coding score of
119,000+. HackerRank highlights include solving
300+ problems, securing a 6β ranking in Problem
Solving, and achieving 5β in domains like
Python, Java, Days of Code, JS, and Statistics,
along with a 2β in SQL.
In HackerEarth, I've conquered 30+ problems,
amassed 630+ points in contests, earned an
Amateur
level, and achieved 5β in Python, along with 3β
in
O(n). At CodeChef, my contributions resulted
in a max rating of 1595, 2β Coder status, and
securing a Global Rank 202 with 80+ problems
solved.
CodeForces highlights include a max rating of
1308
as a Pupil CodeForces, with 80+ problems
solved. My journey also includes work@Tech,
where
I achieved a 1510 score, a 999 rank, and
solved 40 problems.
This remarkable journey is a testament to my
dedication and skill, showcasing a passion for
conquering challenges in the dynamic world of
Data
Structures & Algorithms! π
β¨ Completing This Entire Journey Transforms You InTo A DSA Virtuoso! But Here's The Kicker β Success Depends On Your Dedication And Hard Work. πͺ
Prince Singh (Founder) Β©DSAwithPrinceSingh