Skip to content

moeez506/Data-Structures-Course

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

32 Commits
 
 
 
 
 
 
 
 

Repository files navigation

DevWeekend's Data Structures Course

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.


Week 1- Array

  1. https://leetcode.com/problems/running-sum-of-1d-array/description/
  2. https://leetcode.com/problems/find-the-highest-altitude/
  3. https://leetcode.com/problems/final-value-of-variable-after-performing-operations/description/
  4. https://leetcode.com/problems/squares-of-a-sorted-array/description/
  5. https://leetcode.com/problems/concatenation-of-array/
  6. https://leetcode.com/problems/number-of-good-pairs/description/
  7. https://leetcode.com/problems/shuffle-the-array/description/
  8. https://leetcode.com/problems/move-zeroes/description/

Week 2- String

  1. https://leetcode.com/problems/jewels-and-stones/description/
  2. https://leetcode.com/problems/reverse-string/description/
  3. https://leetcode.com/problems/merge-strings-alternately/description/
  4. https://leetcode.com/problems/fizz-buzz/description/
  5. https://leetcode.com/problems/valid-anagram/description/
  6. https://leetcode.com/problems/reverse-vowels-of-a-string/
  7. https://leetcode.com/problems/valid-palindrome/description/
  8. https://leetcode.com/problems/repeated-substring-pattern/description/
  9. https://leetcode.com/problems/isomorphic-strings/description/
  10. 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://youtu.be/RRVYpIET_RU?si=xI1JBIVbtCkj_Iq7


Week 3 - Hashmap

  1. https://leetcode.com/problems/next-greater-element-i/
  2. https://leetcode.com/problems/two-sum/
  3. https://leetcode.com/problems/find-the-difference-of-two-arrays/description/
  4. https://leetcode.com/problems/missing-number/description/
  5. https://leetcode.com/problems/jewels-and-stones/description/
  6. https://leetcode.com/problems/contains-duplicate/description/
  7. https://leetcode.com/problems/length-of-last-word/description/
  8. https://leetcode.com/problems/valid-anagram/description/

Week 4 - LinkedList

  1. https://leetcode.com/problems/reverse-linked-list/description/
  2. https://leetcode.com/problems/middle-of-the-linked-list/description/
  3. https://leetcode.com/problems/linked-list-cycle/description/
  4. https://leetcode.com/problems/maximum-twin-sum-of-a-linked-list/
  5. https://leetcode.com/problems/intersection-of-two-linked-lists/description/
  6. https://leetcode.com/problems/remove-duplicates-from-sorted-list/description/
  7. https://leetcode.com/problems/convert-binary-number-in-a-linked-list-to-integer/description/
  8. https://leetcode.com/problems/design-hashmap/description/

Week 5 - Dynamic Arrays

  1. Container With Most Water
  2. Design HashMap
  3. Best Time to Buy and Sell Stock
  4. Design HashSet
  5. Design Browser History
  6. Maximum Subarray
  7. Range Sum Query - Immutable

Week 6 - Stack

  1. Backspace String Compare
  2. Valid Parentheses
  3. Make The String Great
  4. Remove All Adjacent Duplicates In String
  5. Removing Stars From a String
  6. Implement Queue using Stacks

Week 7 - Queue

  1. Number of Students Unable to Eat Lunch
  2. Time Needed to Buy Tickets
  3. First Unique Character in a String
  4. Dota2 Senate
  5. Number of Recent Calls
  6. Implement Stack using Queues

Week 8 - Recursion

  1. Fibonacci Number
  2. Merge Two Sorted Lists
  3. Power of Two
  4. Power of Three
  5. Power of Four
  6. Pow(x, n)
  • 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.

Phase 2

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)

Week 9

Array

  1. Merge Intervals
  2. 3Sum
  3. Product of Array Except Self
  4. Insert Delete GetRandom O(1)
  5. Subarray Sum Equals K

String

  1. Longest Substring Without Repeating Characters
  2. Minimum Remove to Make Valid Parentheses
  3. Longest Palindromic Substring
  4. Group Anagrams
  5. Generate Parentheses

Week 10

Greedy

  1. Task Scheduler
  2. Gas Station
  3. Minimum Time to Make Rope Colorful
  4. Maximum Number of Events That Can Be Attended
  5. Minimum Deletions to Make Character Frequencies Unique

Math

  1. Encode and Decode TinyURL
  2. String to Integer (atoi)
  3. Multiply Strings
  4. Angle Between Hands of a Clock
  5. Integer Break

Week 11

Intervals

  1. Insert Interval
  2. Merge Interval
  3. Non-overlapping Intervals
  4. Meeting Rooms
  5. Meeting Rooms II
  6. Minimum Interval to Include Each Query

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •  

Languages