Skip to content

LeetCode 100 Days Challenge: Improve problem-solving skills by tackling LeetCode problems over 100 days.

Notifications You must be signed in to change notification settings

mahmoodhamdi/leet_code_100_days

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

22 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

LeetCode 100 Days Challenge

Welcome to the LeetCode 100 Days Challenge! This challenge will help you improve your problem-solving skills by solving various LeetCode problems over 100 days. The challenge is structured into different periods, each focusing on a specific topic.


Introduction and Setup

  • Topic: Account created, explore site
  • Estimated Duration: 1 hour
  • Status: ☑️

Period 1: Basic Programming (Day 1-10)

Topic LeetCode Problem Estimated Duration Notes Status
Basic Programming Two Sum 1 hour Utilized Dart's Map data structure for efficient lookup, achieving O(n) time complexity instead of O(n^2) ☑️
Basic Programming Add Two Numbers 1.5 hours
Control Structures Palindrome Number 1 hour This approach avoids string manipulation and directly works with the number itself, making it more efficient. ☑️
Control Structures Fizz Buzz .25 hour Very basic approach ☑️
Control Structures Roman to Integer 1 hour Use a single-character map for Roman numerals and check the next character directly in the loop ☑️
Control Structures Integer to Roman 1.5 hours List of MapEntries to maintain the order and avoid accessing map by key, and using StringBuffer for efficient string concatenation. ☑️
Control Structures String to Integer (atoi) 1.5 hours Not fully understood ☑️
Basic Programming Reverse Integer 1 hour Use modulus operator instead of .toString() ☑️
Control Structures Valid Parentheses 1 hour Define a map for matching pairs of parentheses to reduce number checks ☑️

"وَفِي السَّمَاءِ رِزْقُكُمْ وَمَا تُوعَدُونَ"


Period 2: Arrays (Day 11-20)

Topic LeetCode Problem Estimated Duration Notes Status
Arrays Remove Duplicates from Sorted Array 1 hour Reread the problem in details ☑️
Arrays Best Time to Buy and Sell Stock 1 hour ☑️
Arrays Contains Duplicate .25 hour Use set to store the numbers to reduce the time complexity of the algorithm to O(n) ☑️
Arrays Product of Array Except Self 1.5 hours We can use two passes through the array. First, we calculate the prefix product and then calculate the suffix product. ☑️
Arrays Maximum Subarray 0.5 hours ☑️
Arrays Merge Intervals 2 hours Sort intervals by start time. Merge overlapping intervals by updating the end time of the last merged interval. ☑️
Arrays Insert Interval 2 hours Merge all overlapping intervals with the new interval using math.max() and math.min() ☑️
Arrays 3Sum 2 hours Array Two Pointers Sorting ☑️
Arrays Set Matrix Zeroes 1.5 hours Use the first row and column as markers to track zeroes and then zero out the corresponding rows and columns in the matrix ☑️
Arrays Rotate Image 1.5 hours Array Math Matrix ☑️

"احرص على ما ينفعك، واستعن بالله ولا تعجز."


Period 3: Strings (Day 21-30)

Topic LeetCode Problem Estimated Duration Notes Status
Strings Longest Substring Without Repeating Characters 2 hours
Strings Longest Palindromic Substring 2 hours
Strings String to Integer (atoi) 1.5 hours
Strings Implement strStr() 1 hour
Strings Group Anagrams 2 hours
Strings Valid Anagram 1 hour
Strings Minimum Window Substring 2 hours
Strings Valid Palindrome 1 hour
Strings Longest Common Prefix 1 hour
Strings Count and Say 1 hour

"فَإِذَا فَرَغْتَ فَانْصَبْ"


Period 4: Linked Lists (Day 31-40)

Topic LeetCode Problem Estimated Duration Notes Status
Linked Lists Reverse Linked List 1 hour
Linked Lists Merge Two Sorted Lists 1 hour
Linked Lists Linked List Cycle 1 hour
Linked Lists Remove Nth Node From End of List 1 hour
Linked Lists Reorder List 1.5 hours
Linked Lists Remove Duplicates from Sorted List II 1.5 hours
Linked Lists Intersection of Two Linked Lists 1 hour
Linked Lists Add Two Numbers II 1.5 hours
Linked Lists Flatten a Multilevel Doubly Linked List 2 hours
Linked Lists Copy List with Random Pointer 2 hours

"الكيس من دان نفسه وعمل لما بعد الموت، والعاجز من أتبع نفسه هواها وتمنى على الله."


Period 5: Stacks and Queues (Day 41-50)

Topic LeetCode Problem Estimated Duration Notes Status
Stacks and Queues Valid Parentheses 1 hour
Stacks and Queues Min Stack 1 hour
Stacks and Queues Implement Queue using Stacks 1 hour
Stacks and Queues Daily Temperatures 1.5 hours
Stacks and Queues Next Greater Element I 1 hour
Stacks and Queues Evaluate Reverse Polish Notation 1.5 hours
Stacks and Queues Simplify Path 1.5 hours
Stacks and Queues Design Circular Queue 2 hours
Stacks and Queues Decode String 1.5 hours
Stacks and Queues Basic Calculator II 2 hours

"وَمَا تَوْفِيقِي إِلَّا بِاللَّهِ عَلَيْهِ تَوَكَّلْتُ وَإِلَيْهِ أُنِيبُ"


Period 6: Trees (Day 51-60)

Topic LeetCode Problem Estimated Duration Notes Status
Trees Maximum Depth of Binary Tree 1 hour
Trees Validate Binary Search Tree 1.5 hours
Trees Symmetric Tree 1 hour
Trees Binary Tree Level Order Traversal 1.5 hours
Trees Convert Sorted Array to Binary Search Tree 1.5 hours
Trees Construct Binary Tree from Preorder and Inorder Traversal 2 hours
Trees Binary Tree Maximum Path Sum 2 hours
Trees Populating Next Right Pointers in Each Node 1.5 hours
Trees Serialize and Deserialize Binary Tree 2 hours
Trees Lowest Common Ancestor of a Binary Tree 1.5 hours

"إن الله يحب إذا عمل أحدكم عملاً أن يتقنه."


Period 7: Recursion (Day 61-70)

Topic LeetCode Problem Estimated Duration Notes Status
Recursion Climbing Stairs 1 hour
Recursion Generate Parentheses 1.5 hours
Recursion Merge Two Sorted Lists 1 hour
Recursion Swap Nodes in Pairs 1.5 hours
Recursion Letter Combinations of a Phone Number 1.5 hours
Recursion Combinations 1.5 hours
Recursion Subsets 1.5 hours
Recursion Permutations 2 hours
Recursion Combination Sum 2 hours
Recursion Word Search 2 hours

"إِنَّ اللَّهَ لَا يُضِيعُ أَجْرَ الْمُحْسِنِينَ"


Period 8: Sorting and Searching (Day 71-80)

Topic LeetCode Problem Estimated Duration Notes Status
Sorting and Searching Merge Sorted Array 1 hour
Sorting and Searching Search in Rotated Sorted Array 1.5 hours
Sorting and Searching Find Minimum in Rotated Sorted Array 1 hour
Sorting and Searching Kth Largest Element in an Array 1.5 hours
Sorting and Searching Find Peak Element 1 hour
Sorting and Searching Search a 2D Matrix 1.5 hours
Sorting and Searching Median of Two Sorted Arrays 2 hours
Sorting and Searching Sort Colors 1 hour
Sorting and Searching Top K Frequent Elements 1.5 hours
Sorting and Searching Find First and Last Position of Element in Sorted Array 1.5 hours

"من سلك طريقًا يلتمس فيه علمًا سهل الله له به طريقًا إلى الجنة."


Period 9: Dynamic Programming (Day 81-90)

Topic LeetCode Problem Estimated Duration Notes Status
Dynamic Programming House Robber (Easy) 1 hour
Dynamic Programming House Robber II (Medium) 1.5 hours
Dynamic Programming Longest Increasing Subsequence (Medium) 2 hours
Dynamic Programming Coin Change (Medium) 2 hours
Dynamic Programming Maximum Product Subarray (Medium) 1.5 hours
Dynamic Programming Palindromic Substrings (Medium) 2 hours
Dynamic Programming Word Break (Medium) 2 hours
Dynamic Programming Decode Ways
(Medium) 1.5 hours
Dynamic Programming Edit Distance (Hard) 2 hours
Dynamic Programming Longest Common Subsequence (Medium) 2 hours

"الْفِطْرَةُ فِي كُلِّ أَمْرٍ"


Period 10: Graphs and Trees (Day 91-100)

Topic LeetCode Problem Estimated Duration Notes Status
Graphs and Trees Number of Islands 1.5 hours
Graphs and Trees Clone Graph 2 hours
Graphs and Trees Course Schedule 2 hours
Graphs and Trees Pacific Atlantic Water Flow 2 hours
Graphs and Trees Word Ladder II 2 hours
Graphs and Trees Minimum Height Trees 1.5 hours
Graphs and Trees Find the Redundant Connection 1.5 hours
Graphs and Trees Network Delay Time 1.5 hours
Graphs and Trees Maximum Area of Island 1.5 hours
Graphs and Trees Surrounded Regions 2 hours

"اللهم علمنا ما ينفعنا وانفعنا بما علمتنا"

About

LeetCode 100 Days Challenge: Improve problem-solving skills by tackling LeetCode problems over 100 days.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages