So one fine day(30st April 2020), I casually open LinkedIn and my feed is filled with posts from people who have completed some LeetCode April 30 Day Challenge which was made viral by Akshay Saini. The more such posts I saw, the more it intrigued me. I was alot into Competitive Coding in my college days(back till '17) and coded mostly on Hackerrank (my profile) eventually making it into top 300 globally (Problem Solving/Algorithm Practice domain). And now, after 2+ years of corporate monotony, my rusty self recalls this now modified famous quote from someone:
Coding/Algorithm problem solving is like brushing, and if you don't brush daily - you know what happens! --anonymous
I jumped at this opportunity hoping to get that algorithmic mojo back, and in this repository as Akshay suggested fellow developers on LinkedIn to actively maintain a repo of all solutions, I am maintaining all of my submissions from the challenge.
Hope it's of use to anyone out there!
-
Week 1
- Day #1 - Weekday 5 - 1st May 2020 - First Bad Version - My Submission
- Day #2 - Weekday 6 - 2nd May 2020 - Jewels and Stones - My Submission
- Day #3 - Weekday 7 - 3nd May 2020 - Ransom Note - My Submission
- Day #4 - Weekday 1 - 4rth May 2020 - Number Complement - My Submission
- Day #5 - Weekday 2 - 5th May 2020 - First Unique Character in a String - My Submission
- Day #6 - Weekday 3 - 6th May 2020 - Majority Element - My Submission
- Day #7 - Weekday 4 - 7th May 2020 - Cousins in Binary Tree - My Submission
-
Week 2
- Day #8 - Weekday 5 - 8th May 2020 - Check if it is a straight line - My Submission
- Day #9 - Weekday 6 - 9th May 2020 - Valid perfect square - My Submission
- Day #10 - Weekday 7 - 10th May 2020 - Find the town judge - My Submission
- Day #11 - Weekday 1 - 11th May 2020 - Flood Fill - My Submission
- Day #12 - Weekday 2 - 12th May 2020 - Single element in sorted array - My Submission
- Day #13 - Weekday 3 - 13th May 2020 - Remove k digits - My Submission
- Day #14 - Weekday 4 - 14th May 2020 - Implement Trie - My Submission
-
Week 3
- Day #15 - Weekday 5 - 15th May 2020 - Maximum Sum Circular Subarray - My Submission
- Day #16 - Weekday 6 - 16th May 2020 - Odd Even Linked List - My Submission
- Day #17 - Weekday 7 - 17th May 2020 - Find all anagrams in string - My Submission
- Day #18 - Weekday 1 - 18th May 2020 - Permutation in String - My Submission
- Day #19 - Weekday 2 - 19th May 2020 - Online Stock Span - My Submission
- Day #20 - Weekday 3 - 20th May 2020 - Kth Smallest Element in a BST - My Submission
- Day #21 - Weekday 4 - 21th May 2020 - Count Square Submatrices with All Ones - My Submission
-
Week 4
- Day #22 - Weekday 5 - 22th May 2020 - Sort Characters By Frequency - My Submission
- Day #23 - Weekday 6 - 23th May 2020 - Interval List Intersections - My Submission
- Day #24 - Weekday 7 - 24th May 2020 - Construct Binary Search Tree from Preorder Traversal - My Submission
- Day #25 - Weekday 1 - 25th May 2020 - Uncrossed Lines - My Submission
- Day #26 - Weekday 2 - 26th May 2020 - Contiguous Array - My Submission
- Day #27 - Weekday 3 - 27th May 2020 - Possible Bipartition - My Submission
- Day #28 - Weekday 4 - 28th May 2020 - Counting Bits - My Submission
-
Week 5
- Day #29 - Weekday 5 - 29th May 2020 - Course Schedule - My Submission
- Day #30 - Weekday 6 - 30th May 2020 - K Closest Points to Origin - My Submission
- Day #31 - Weekday 7 - 31th May 2020 - Edit Distance - My Submission
# | Problem | Algorithm | Data Structure | Time Complexity | Space Complexity |
---|---|---|---|---|---|
1 | First Bad Version - Code | Binary Search | O(logn) | O(1) | |
2 | Jewels and Stones - Code | Frequency Array | Array | O(n) | O(1) |
3 | Ransom Note - Code | Frequency Array | Array | O(n) | O(1) |
4 | Number Complement - Code | Array | O(logn) | O(1) | |
5 | First Unique Character in a String - Code | Frequency Array | Array | O(n) | O(1) |
6 | Majority Element - Code | Boyer Moore Majority Vote | O(n) | O(1) | |
7 | Cousins in Binary Tree - Code | O(n) | O(1) | ||
8 | Check if it is a straight line - Code | O(n) | O(1) | ||
9 | Valid perfect square - Code | Binary Search | O(logn) | O(1) | |
10 | Find the town judge - Code | Frequency Array | O(n) | O(n) | |
11 | Flood Fill - Code | Flood Fill Recursion/BFS | Queue | O(n^2) | O(n^2) |
12 | Single element in sorted array - Code | Binary Search | O(logn) | O(1) | |
13 | Remove k digits - Code | Stack | O(n) | O(n) | |
14 | Implement Trie - Code | Trie | |||
15 | Maximum Sum Circular Subarray - Code | Kadane's | O(n) | O(1) | |
16 | Odd Even Linked List - Code | Linked List | O(n) | O(1) | |
17 | Find all anagrams in string - Code | Frequency Array + Sliding Window | O(n) | O(1) | |
18 | Permutation in String - Code | Frequency Array + Sliding Window | O(n) | O(1) | |
19 | Online Stock Span - Code | Stack | O(n) | O(n) | |
20 | Kth Smallest Element in a BST - Code | O(n) | O(n) | ||
21 | Count Square Submatrices with All Ones - Code | DP Paradigm | O(n^2) | O(1) | |
22 | Sort Characters By Frequency - Code | Frequency Array | Array | O(n) | O(1) |
23 | Interval List Intersections - Code | O(n) | O(1) | ||
24 | Construct Binary Search Tree from Preorder Traversal - Code | Stack | O(n) | O(n) | |
25 | Uncrossed Lines - Code | DP Paradigm | O(nm) | O(nm) | |
26 | Contiguous Array - Code | Prefix Sum | O(n) | O(n) | |
27 | Possible Bipartition - Code | BFS | O(V+E) | O(V+E) | |
28 | Counting Bits - Code | O(n) | O(n) | ||
29 | Course Schedule - Code | Loop Detection + DFS/BFS | Stack/Queue | O(E+V) | O(E+V) |
30 | K Closest Points to Origin - Code | O(nlogn) | O(n) | ||
31 | Edit Distance - Code | DP Paradigm | O(nm) | O(nm) |