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.
- Topic: Account created, explore site
- Estimated Duration: 1 hour
- Status: ☑️
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 | ☑️ |
"وَفِي السَّمَاءِ رِزْقُكُمْ وَمَا تُوعَدُونَ"
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 | ☑️ |
"احرص على ما ينفعك، واستعن بالله ولا تعجز."
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 | ☐ |
"فَإِذَا فَرَغْتَ فَانْصَبْ"
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 | ☐ |
"الكيس من دان نفسه وعمل لما بعد الموت، والعاجز من أتبع نفسه هواها وتمنى على الله."
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 | ☐ |
"وَمَا تَوْفِيقِي إِلَّا بِاللَّهِ عَلَيْهِ تَوَكَّلْتُ وَإِلَيْهِ أُنِيبُ"
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 | ☐ |
"إن الله يحب إذا عمل أحدكم عملاً أن يتقنه."
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 | ☐ |
"إِنَّ اللَّهَ لَا يُضِيعُ أَجْرَ الْمُحْسِنِينَ"
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 | ☐ |
"من سلك طريقًا يلتمس فيه علمًا سهل الله له به طريقًا إلى الجنة."
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 | ☐ |
"الْفِطْرَةُ فِي كُلِّ أَمْرٍ"
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 | ☐ |