- Topic: Every 10 days, focus on one topic.
- Daily Question: One question a day till the end of the year.
-
Array
- Two Sum - Date: [2024-04-12]
- Best Time to Buy and Sell Stock - Date: [2024-04-13]
- Contains Duplicate - Date: [2024-04-14]
- Product of Array Except Self - Date: [2024-04-15]
- Maximum Subarray - Date: [2024-04-16]
- Maximum Product Subarray - Date: [2024-04-17]
- Find Minimum in Rotated Sorted Array - Date: [2024-04-18]
- Search in Rotated Sorted Array - Date: [2024-04-19]
- 3Sum - Date: [2024-04-20]
- Container With Most Water - Date: [2024-04-21]
-
Linked List
- Merge Two Sorted Lists - Date: [2024-04-22]
- Intersection of Two Linked Lists - Date: [2024-04-23]
- Palindrome Linked List - Date: [2024-04-24]
- Reverse Linked List - Date: [2024-04-25]
- Linked List Cycle - Date: [2024-04-26]
- Remove Nth Node From End of List - Date: [2024-04-27]
- Copy List with Random Pointer - Date: [2024-04-28]
- Add Two Numbers - Date: [2024-04-29]
- Rotate List - Date: [2024-04-30]
- Partition List - Date: [2024-05-01]
-
Stack and Queue
- Implement Stack using Queues - Date: [2024-05-02]
- Implement Queue using Stacks - Date: [2024-05-03]
- Trapping Rain Water - Date: [2024-05-04]
- Min Stack - Date: [2024-05-05]
- Sliding Window Maximum - Date: [2024-05-06]
- Longest Valid Parentheses - Date: [2024-05-07]
- Evaluate Reverse Polish Notation - Date: [2024-05-08]
- Basic Calculator - Date: [2024-05-09]
- Basic Calculator II - Date: [2024-05-10]
- Largest Rectangle in Histogram - Date: [2024-05-11]
-
Hash Table
- Two Sum - Date: [2024-05-12]
- Subarray Sum Equals K - Date: [2024-05-13]
- Contains Duplicate - Date: [2024-05-14]
- First Unique Character in a String - Date: [2024-05-15]
- Longest Substring Without Repeating Characters - Date: [2024-05-16]
- Group Anagrams - Date: [2024-05-17]
- Intersection of Two Arrays II - Date: [2024-05-18]
- Intersection of Two Arrays - Date: [2024-05-19]
- Isomorphic Strings - Date: [2024-05-20]
- Word Pattern - Date: [2024-05-21]
-
Tree
- Maximum Depth of Binary Tree - Date: [2024-05-22]
- Validate Binary Search Tree - Date: [2024-05-23]
- Symmetric Tree - Date: [2024-05-24]
- Binary Tree Level Order Traversal - Date: [2024-05-25]
- Binary Tree Zigzag Level Order Traversal - Date: [2024-05-26]
- Path Sum - Date: [2024-05-27]
- Lowest Common Ancestor of a Binary Tree - Date: [2024-05-28]
- Construct Binary Tree from Preorder and Inorder Traversal - Date: [2024-05-29]
- Binary Tree Maximum Path Sum - Date: [2024-05-30]
- Serialize and Deserialize Binary Tree - Date: [2024-05-31]
-
Heap
- Top K Frequent Elements - Date: [2024-06-01]
- Kth Largest Element in an Array - Date: [2024-06-02]
- Meeting Rooms II - Date: [2024-06-03]
- Design Heap - Date: [2024-06-04]
- Task Scheduler - Date: [2024-06-05]
- Course Schedule - Date: [2024-06-06]
- Course Schedule II - Date: [2024-06-07]
- Design Twitter - Date: [2024-06-08]
- Design Priority Queue - Date: [2024-06-09]
- [Design Median of a Data Stream](https://leetcode.com/pro
-
Graph
- Number of Connected Components in an Undirected Graph - Date: [2024-06-11]
- Graph Valid Tree - Date: [2024-06-12]
- Course Schedule III - Date: [2024-06-13]
- Evaluate Reverse Polish Notation - Date: [2024-06-14]
- Minimum Height Trees - Date: [2024-06-15]
- Longest Increasing Path in a Matrix - Date: [2024-06-16]
- Shortest Path Visiting All Nodes - Date: [2024-06-17]
- Alien Dictionary - Date: [2024-06-18]
- Word Ladder II - Date: [2024-06-19]
- Longest Cycle in a Graph - Date: [2024-06-20]
-
String
- Valid Parentheses - Date: [2024-06-21]
- Longest Substring Without Repeating Characters - Date: [2024-06-22]
- Reverse String - Date: [2024-06-23]
- String to Integer (atoi) - Date: [2024-06-24]
- Longest Palindromic Substring - Date: [2024-06-25]
- Valid Palindrome - Date: [2024-06-26]
- Implement strStr() - Date: [2024-06-27]
- Count and Say - Date: [2024-06-28]
- Longest Common Prefix - Date: [2024-06-29]
- Group Anagrams - Date: [2024-06-30]
-
Two pointers
- Trapping Rain Water - Date: [2024-07-01]
- Contains Duplicate - Date: [2024-07-02]
- Two Sum II - Input array is sorted - Date: [2024-07-03]
- Remove Duplicates from Sorted Array - Date: [2024-07-04]
- Remove Element - Date: [2024-07-05]
- Implement strStr() - Date: [2024-07-06]
- Pairs of Songs With Total Durations Divisible by 60 - Date: [2024-07-07]
- Minimum Size Subarray Sum - Date: [2024-07-08]
- Longest Substring Without Repeating Characters - Date: [2024-07-09]
- Minimum Size Subarray Sum II - Date: [2024-07-10]
-
Binary Search
-
Search in Rotated Sorted Array - Date: [2024-07-11]
-
Search in Rotated Sorted Array II - Date: [2024-07-12]
-
Find Minimum in Rotated Sorted Array - Date: [2024-07-13]
-
Find Peak Element - Date: [2024-07-14]
-
Search a 2D Matrix - Date: [2024-07-15]
-
Search a 2D Matrix II - Date: [2024-07-16]
-
Find First and Last Position of Element in Sorted Array - Date: [2024-07-17]
-
Find Median from Data Stream - Date: [2024-07-18]
-
Median of Two Sorted Arrays - Date: [2024-07-19]
-
Median of Two Sorted Arrays II - Date: [2024-07-20]
-
Divide and Conquer
- Maximum Subarray - Date: [2024-07-21]
- Fibonacci Number - Date: [2024-07-22]
- Climbing Stairs - Date: [2024-07-23]
- House Robber - Date: [2024-07-24]
- House Robber II - Date: [2024-07-25]
- Longest Increasing Subsequence - Date: [2024-07-26]
- Longest Common Subsequence - Date: [2024-07-27]
- Interleaving String - Date: [2024-07-28]
- Word Break II - Date: [2024-07-29]
- Combination Sum IV - Date: [2024-07-30]
-
BFS and DFS
- Max Area of Island - Date: [2024-08-01]
- Number of Connected Components in an Undirected Graph - Date: [2024-08-02]
- Surrounded Regions - Date: [2024-08-03]
- Word Ladder - Date: [2024-08-04]
- Shortest Path Visiting All Nodes - Date: [2024-08-05]
- Alien Dictionary - Date: [2024-08-06]
- Open the Lock - Date: [2024-08-07]
- Pacific Atlantic Water Flow - Date: [2024-08-08]
- Graph Valid Tree - Date: [2024-08-09]
- Evaluate Reverse Polish Notation - Date: [2024-08-10]
-
Backtracking and Recursion
- Subsets - Date: [2024-08-11]
- Combination Sum - Date: [2024-08-12]
- Permutations - Date: [2024-08-13]
- Combination Sum II - Date: [2024-08-14]
- Permutations II - Date: [2024-08-15]
- Word Search - Date: [2024-08-16]
- N-Queens - Date: [2024-08-17]
- Sudoku Solver - Date: [2024-08-18]
- Letter Combinations of a Phone Number - Date: [2024-08-19]
- Palindrome Partitioning - Date: [2024-08-20]
-
Sliding Window
- Longest Substring Without Repeating Characters - Date: [2024-08-21]
- Minimum Window Substring - Date: [2024-08-22]
- Longest Substring with At Most Two Distinct Characters - Date: [2024-08-23]
- Longest Substring with At Most K Distinct Characters - Date: [2024-08-24]
- Permutation in String - Date: [2024-08-25]
- Sliding Window Maximum - Date: [2024-08-26]
- Sliding Window Minimum - Date: [2024-08-27]
- Longest Repeating Character Replacement - Date: [2024-08-28]
- Fruit Into Baskets - Date: [2024-08-29]
- Longest Substring of Two Distinct Characters - Date: [2024-08-30]
-
Dynammic Programming
- Climbing Stairs - Date: [2024-08-31]
- House Robber - Date: [2024-09-01]
- House Robber II - Date: [2024-09-02]
- Best Time to Buy and Sell Stock - Date: [2024-09-03]
- Maximum Subarray - Date: [2024-09-04]
- Coin Change - Date: [2024-09-05]
- Longest Increasing Subsequence - Date: [2024-09-06]
- Unique Paths - Date: [2024-09-07]
- Decode Ways - Date: [2024-09-08]
- Palindrome Partitioning II - Date: [2024-09-09]
-
Greedy Algorithm
- Minimum Cost to Hire K Workers - Date: [2024-09-10]
- Minimum Number of Arrows to Burst Balloons - Date: [2024-09-11]
- Minimum Number of Refueling Stops - Date: [2024-09-12]
- Minimum Deletions to Make Character Frequencies Unique - Date: [2024-09-13]
- Minimum Cost to Connect Two Groups of Points - Date: [2024-09-14]
- Maximum Number of Coins You Can Get - Date: [2024-09-15]
- Minimum Number of Operations to Make Array Equal - Date: [2024-09-16]
- Minimum Number of Steps to Make Two Strings Anagram II - Date: [2024-09-17]
- Minimum Cost to Make at Least One Valid Path in a Grid - Date: [2024-09-18]
- Minimum Cost to Cut a Stick - Date: [2024-09-19]
-
Math
- Number of Ways to Wear Different Hats to Each Other - Date: [2024-09-20]
- Count Good Rectangles - Date: [2024-09-21]
- Count Odd Numbers in an Interval Range - Date: [2024-09-22]
- Maximum Non Negative Product in a Matrix - Date: [2024-09-23]
- Minimum Number of Days to Make m Bouquets - Date: [2024-09-24]
- Maximum Product Difference Between Two Indexes - Date: [2024-09-25]
- Count Square Sum Triples - Date: [2024-09-26]
- Count Pairs With Absolute Difference K - Date: [2024-09-27]
- Count Pairs With XOR in a Range - Date: [2024-09-28]
- Count Nodes With Given XOR in a Binary Tree - Date: [2024-09-29]
-
Bit Manipulation
- Number of 1 Bits - Date: [2024-09-30]
- Hamming Distance - Date: [2024-10-01]
- Single Number - Date: [2024-10-02]
- Single Number II - Date: [2024-10-03]
- Single Number III - Date: [2024-10-04]
- Missing Number - Date: [2024-10-05]
- Complement of Base 10 Integer - Date: [2024-10-06]
- Number of 1 Bits in Two Binary Strings - Date: [2024-10-07]
- Count Pairs With Given XOR and Difference - Date: [2024-10-08]
- Count Pairs With Given Sum of XOR - Date: [2024-10-09]
- JimengShi/Leetcode-Data-Structures-Algorithms
- Pradetto/DSA-Cheat-Sheets
- 17tanya/Leetcode-Data-Structures-and-Algorithms
- For each topic, start by understanding the basic concept and then practice problems on LeetCode.
- Use resources like Anki flashcards, common data structures, and algorithm templates to help with learning.
- Practice one question a day to ensure consistency and build up your problem-solving skills.
- Don't hesitate to use resources like YouTube videos, Stack Overflow, and LeetCode discussions to help understand solutions.