100 Days Leetcode Challenge

Hi Geeks! Welcome to 100 Days Leetcode challenge. In these days, we going to solve Leetcode’s top 100 data structures and algorithm problems.

Purpose of 100 Days Leetcode Challenge

  • The main purpose of this challenge is, as a Software Developer we should have a strong command over the algorithms and data structures.
  • Solving these problems daily, might helps you to build your logical skills sharply.
  • Because of these skills, at the time of developing applications, you can able to see the differences in the quality of your code from other peers.
  • Logical skills plays a key role in the performance of an application.

How we going to do this challenge

  • For every week, we going to solve ten questions.
  • Therefore, at the end of tenth week we will finish our 100 Days Leetcode challenge.
  • You can see below, 10/10 sets of Leetcode questions for every week.

In this article, I listed below 100 Leetcode problem questions, with respective week which we going to solve.

What I’m going to do here?

Everyday, I’m gonna to solve the problem and cover it with detailed explanations and diagrams. My intention here is to solve problems. But I’m very much interested in explaining the data structures and algorithm problems to newbies.

So I made this article, to help other programmers. Whenever I solve problem, I update here the problem with solutions and explanations.

If you like to join with me, please follow me via email. So that, whenever I solve problems and update here, you will get an email notification message.

Processing…
Thank you!

Week 1

  1. Top K Frequent Elements   
  2. Product of Array Except Self    
  3. Subsets    
  4. Evaluate Reverse Polish Notation    
  5. Generate Parentheses    
  6. Min Stack    
  7. Reverse Bits 
  8. Longest Common Prefix    
  9. Implement strStr()    
  10. Permutations    

Week 2

  1. House Robber    
  2. Count and Say 
  3. Maximum Depth of Binary Tree 
  4. Valid Anagram    
  5. Convert Sorted Array to Binary Search Tree  
  6. Roman to Integer
  7. Majority Element
  8. Excel Sheet Column Number
  9. Pascal’s Triangle
  10. Happy Number

Week 3

  1. Best Time to Buy and Sell Stock 
  2. Best Time to Buy and Sell Stock II
  3. Climbing Stairs 
  4. Maximum Sub-array
  5. Number of 1 Bits
  6. Plus One
  7. Factorial Trailing Zeroes
  8. Intersection of Two Linked Lists
  9. Count Primes 
  10. Kth Smallest Element in a BST

Week 4

  1. Rotate Image
  2. Group Anagrams
  3. 4Sum II
  4. Kth Largest Element in an Array
  5. Kth Smallest Element in a Sorted Matrix
  6. Binary Tree Level Order Traversal
  7. Odd Even Linked List 
  8. Shuffle an Array
  9. Unique Paths
  10. Flatten Nested List Iterator 

Week 5

  1. Game of Life
  2. Container With Most Water
  3. Valid Sudoku
  4. Construct Binary Tree from Preorder and Inorder Traversal
  5. Insert Delete Get Random O(1)
  6. Binary Tree Zigzag Level Order Traversal
  7. Letter Combinations of a Phone Number  
  8. Number of Islands
  9. Palindrome Partitioning
  10. Sort Colors
  11. Perfect Squares

WEEK 6

  1. Implement Trie (Prefix Tree) 
  2. Find Peak Element 
  3. Search a 2D Matrix II
  4. Lowest Common Ancestor of a Binary Tree
  5. Set Matrix Zeroes
  6. Longest Increasing Subsequence
  7. Populating Next Right Pointers in Each Node
  8. Course Schedule
  9. Longest Substring with At Least K Repeating Characters
  10. Increasing Triplet Subsequence

Week 7

  1. Sort List
  2. Word Break    
  3. Course Schedule II
  4. Merge Intervals
  5. Gas Station
  6. Basic Calculator II
  7. Find First and Last Position of Element in Sorted Array
  8. Search in Rotated Sorted Array
  9. Word Search
  10. Coin Change

Week 8

  1. Jump Game
  2. Spiral Matrix 
  3. Copy List with Random Pointer
  4. Maximum Product Sub array 
  5. LRU Cache 
  6. Longest Substring Without Repeating Characters
  7. Wiggle Sort II
  8. Pow(x, n) 
  9. Longest Palindromic Substring 
  10. Word Ladder

Week 9

  1. Largest Number 
  2. Validate Binary Search Tree
  3. 3Sum
  4. Surrounded Regions  
  5. Decode Ways
  6. Fraction to Recurring Decimal
  7. Divide Two Integers 
  8. String to Integer (atoi) 
  9. Trapping Rain Water
  10. Serialize and Deserialize Binary Tree

Week 10

  1. Longest Consecutive Sequence
  2. Longest Increasing Path in a Matrix 
  3. Find Median from Data Stream 
  4. Sliding Window Maximum
  5. Count of Smaller Numbers After Self
  6. Merge k Sorted Lists 
  7. Largest Rectangle in Histogram
  8. Minimum Window Sub-string
  9. Binary Tree Maximum Path Sum
  10. Word Search II 

What are the languages I’m going to use?

Since programming languages are independent of data structures and algorithms. So I’m going to play with data structures and algorithms using Java, JavaScript and C#.

Note:

Within ten weeks we can complete this challenge. It will take 70 days, remaining 30 days we going to focus on the patterns behind these problems. Finding patterns behind these algorithms and data structures problems is a good thing, which gives confidence to solve more problems like this.

One thought on “100 Days Leetcode Challenge

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s