Some considerations while starting with problem-solving till 100+ Leetcode problems are solved:
- Start with the most-easiest problems.
- DO NOT try to solve each problem yourself, instead try to learn and understand how different problems are being solved
- Do not try to solve a problem for more than 1 hour initially to get fast and to achieve more in less time, for any problem taking more than 1 hour, put it in a backlog and solve it later
- Average time to solve a problem should be 30-45 minutes
- Do not try to solve a lot of problems from one topic, instead try to solve 5-10 problems per topic
- Do not try to jump into problem-solving directly without the necessary pre-requisites, For example
If you are trying to solve a problem that requires HashSet/HashMap then make sure you have studied HashMap before solving the problem If you are trying to solve a problem that uses recursion, first make sure you learn recursion properly If you are trying to solve a problem that uses graphs/trees, first make sure you learn graphs/trees properly If you are trying to solve a problem that uses dynamic programming, first make sure you learn dynamic programming properly.
- https://leetcode.com/problems/running-sum-of-1d-array/description/
- https://leetcode.com/problems/find-the-highest-altitude/
- https://leetcode.com/problems/final-value-of-variable-after-performing-operations/description/
- https://leetcode.com/problems/squares-of-a-sorted-array/description/
- https://leetcode.com/problems/concatenation-of-array/
- https://leetcode.com/problems/number-of-good-pairs/description/
- https://leetcode.com/problems/shuffle-the-array/description/
- https://leetcode.com/problems/move-zeroes/description/
-
Basic Understanding of Data structures in your language (C++ STL, C# Collections, Python Standard Library)
-
If you like C++ and more details > My code school Data Structures
https://www.youtube.com/playlist?list=PL2_aWCzGMAwI3W_JlcBbtYTwiQSsOTa6P (C++)
- https://leetcode.com/problems/jewels-and-stones/description/
- https://leetcode.com/problems/reverse-string/description/
- https://leetcode.com/problems/merge-strings-alternately/description/
- https://leetcode.com/problems/fizz-buzz/description/
- https://leetcode.com/problems/valid-anagram/description/
- https://leetcode.com/problems/reverse-vowels-of-a-string/
- https://leetcode.com/problems/valid-palindrome/description/
- https://leetcode.com/problems/repeated-substring-pattern/description/
- https://leetcode.com/problems/isomorphic-strings/description/
- https://leetcode.com/problems/is-subsequence/description/
-
Stl for C++ Programmers (It will help to speed up the coding part using built-in functions and short hands)
-
Note: The given lecture has Data structures like set and hashmap which we haven't studied yet, don't worry we will be having a dedicated lecture on them for now just have a high-level idea.
- https://leetcode.com/problems/next-greater-element-i/
- https://leetcode.com/problems/two-sum/
- https://leetcode.com/problems/find-the-difference-of-two-arrays/description/
- https://leetcode.com/problems/missing-number/description/
- https://leetcode.com/problems/jewels-and-stones/description/
- https://leetcode.com/problems/contains-duplicate/description/
- https://leetcode.com/problems/length-of-last-word/description/
- https://leetcode.com/problems/valid-anagram/description/
- https://leetcode.com/problems/reverse-linked-list/description/
- https://leetcode.com/problems/middle-of-the-linked-list/description/
- https://leetcode.com/problems/linked-list-cycle/description/
- https://leetcode.com/problems/maximum-twin-sum-of-a-linked-list/
- https://leetcode.com/problems/intersection-of-two-linked-lists/description/
- https://leetcode.com/problems/remove-duplicates-from-sorted-list/description/
- https://leetcode.com/problems/convert-binary-number-in-a-linked-list-to-integer/description/
- https://leetcode.com/problems/design-hashmap/description/
- Container With Most Water
- Design HashMap
- Best Time to Buy and Sell Stock
- Design HashSet
- Design Browser History
- Maximum Subarray
- Range Sum Query - Immutable
- Backspace String Compare
- Valid Parentheses
- Make The String Great
- Remove All Adjacent Duplicates In String
- Removing Stars From a String
- Implement Queue using Stacks
- Number of Students Unable to Eat Lunch
- Time Needed to Buy Tickets
- First Unique Character in a String
- Dota2 Senate
- Number of Recent Calls
- Implement Stack using Queues
- Everyone who crossed the leetcode count 50 must watch the basics of Time and Space Complexity.
- As we are moving towards advance data structures and medium problems for that you must need to have an idea of optimization.
Instructions
- Understand the problem by yourself
- If having difficulty find any video on YouTube and watch the starting part to understand the problem then pause the video try your solution.
- Then watch the solution even if your solution is submitted or not.
- Recommended channels (Neetcode.io, striver)
- Merge Intervals
- 3Sum
- Product of Array Except Self
- Insert Delete GetRandom O(1)
- Subarray Sum Equals K
- Longest Substring Without Repeating Characters
- Minimum Remove to Make Valid Parentheses
- Longest Palindromic Substring
- Group Anagrams
- Generate Parentheses
- Task Scheduler
- Gas Station
- Minimum Time to Make Rope Colorful
- Maximum Number of Events That Can Be Attended
- Minimum Deletions to Make Character Frequencies Unique
- Encode and Decode TinyURL
- String to Integer (atoi)
- Multiply Strings
- Angle Between Hands of a Clock
- Integer Break