Technical Progress Tracker
Table of Contents
- Programming Study Tracker
- Coding Challenges Tracker
- Other
- Day 1: June 1st, 2022
- Day 2:
- Day 3:
- Day 4
- Day 5 (3PM - 11:30)
- Day 6 (1PM)
- Day 7 (7:45 PM) - Laptop Works w/ NO ISSUES 🙏
- Day 8 (7:45 PM)
- Day 9 (8:30 PM)
- Day 10 (3:00 PM)
- Day 11 (1:00 PM)
- Day 12 (6:00 PM)
- Day 13 (8:22 PM - 11:30PM)
- Day 14 ( Stopped at 1: 26)
- Day 15
- Day 16
- Day 17 - REVIEW DAY - Saturday - June 18th
- Day 18 - FATHER'S DAY - BURNOUT PROTECTION DAY
- Day 19
- Day 20
- Day 21
- Day 22
- Day 23
- Day 24 - Review Day
- Day 25
- Day 26
- Day 27
- Day 28
- Day 29
- Day 30
- Day 31
- Day 32 - Official Start of Binary Tree Problems
- Day 33
- Day 34
- Day 35
- Day 36
- Day 37
- Day 38
- Day 38
- Day 39
- Day 40
- Day 41
- Day 42
- Day 43
- Day 44
- Day 45
- Day 46
- Day 47
- Day 48
- Day 49
- Day 50 - OFF
- Day 51 - OFF
- Day 52
- Day 53 - Official 1st Day Back
- Day 54
- Day 55
- Day 56
- Day 57
- Day 58
- Day 59 - Sunday August 2nd
- Day 60
- Day 61
- Day 62
- Day 63
- Day 64
- Day 65
- Day 66
- Day 67
- Day 68 - August 9th, 2022
- Day 69
- Day 70
- Day 71 - Traveling
- Day 72
- Day 73
- Day 74
- Day 75
- Day 76 - Thurs, August 18th, 2022
- Day 77 - Friday, August 19th
- Day 78 - Saturday, August 20th
- Day 79 - Sunday, August 21st
- Day 80 - Monday, August 22nd
- Day 81 - Tuesday, August 23rd
- Day 82 - Wednesday, August 24th
- Day 83 - Thursday, August 25th
- Day 84 - Friday, August 26th
- Day 85 - Saturday, August 27th
- Day 85 - Sunday, August 28th
- Day 86 - Monday, August 29th
- Day 87 - Tuesday, August 30th
- Day 88 - Wednesday, August 31st
- Day 89 - Thursday, September 1st
- Day 90 - Friday, September 2nd
- Day 91 - Saturday, September 3rd
- Day 92 - Sunday, September 4th
- Day 93 - Monday, September 5th
- Day 94 - Tuesday, September 6th
- Day 95 - Wednesday, September 7th
- Day 96 - Thursday, September 8th
- Day 97 - Friday, September 9th
- Day 98 - Saturday, September 10th
- Day 99 - Sunday, September 11th
- Day 101 - Tuesday, September 13th
- Day 102 - Wednesday, September 14th
- Day 103 - Thursday, September 15th
- Day 104 - Friday, September 16th
- Day 105 - Saturday, September 17th
- Day 106 - Sunday, September 18th
- Day 107 - Monday, September 19th - Sliding Window Pattern
- Day 108 - Tuesday, September 20th - Sliding Window Pattern
- Day 109 - Wednesday, September 21st - Sliding Window Pattern
- Day 110 - Thursday, September 22nd - Sliding Window Pattern
- Day 111 - Friday, September 23nd - Sliding Window Pattern
- Day 112 - Saturday, September 24th - Sliding Window Pattern
- Day 113 - Sunday, September 25th - Modified Binary Search Pattern
- Day 114 - Monday, September 26th - Modified Binary Search Pattern
- Day 115 - Tuesday, September 27th - Modified Binary Search Pattern
- Day 116 - Wednesday, September 28th, Modified Binary Search Pattern
- Day 117 - Thursday, September 29th, Modified Binary Search Pattern
- Day 118 - Friday, September 30th, Modified Binary Search Pattern
- Day 119 - Saturday, October 1st, Modified Binary Search Pattern
- Day 120 - Sunday, October 2nd
- Day 121 - Monday, October 3rd - 2 Pointers Search Pattern
- Day 122 - Tuesday, October 4th - 2 Pointers Search Pattern
- Day 123 - Wednesday, October 5th - 2 Pointers Search Pattern
- Day 124 - Thursday, October 6th, 2 Pointers Search Pattern
- Day 125 - Friday, October 7th, 2 Pointers Search Pattern
- Day 126 - Saturday, October 8th, 2 Pointers Search Pattern
- Day 127 - Sunday, October 9th, 2 Pointers Search Pattern
- Day 128 - Monday, October 10th - Pattern: BFS
- Day 129 - Tuesday, October 11th - Pattern: BFS
- Day 130 - Wednesday, October 12th - Pattern: BFS
- Day 131 - Thursday, October 13th - MENTAL HEALTH DAY
- Day 132 - Friday, October 14th
- Day 133 - Saturday, October 15th - Matrix
- Day 134 - Sunday, October 16th
- Day 135 - Monday, October 17th - Matrix
- Day 136 - Tuesday, October 18th - Develop New Study Strategy
- Day 137 - Wednesday, October 19th - Merging Intervals
- Day 138 - Thursday, October 20th - Very Busy Day/Week
- Day 139 - Friday, October 21st
- Day 140 - Saturday, October 22nd
- Day 141 - Sunday, October 23rd
- Day 142 - Monday, October 24th
- Day 143 - Tuesday, October 25th - Cyclic Sort
- Day 144 - Wednesday, October 26th - Cyclic Sort
- Day 145 - Thursday, October 27th - Cyclic Sort
- Day 146 - Friday, October 28th - Cyclic Sort
- Day 147 - Saturday, October 29th - Cyclic Sort
- Day 148 - Sunday, October 30th - Cyclic Sort
- Day 149 - Monday, October 31st - Cyclic Sort
- Day 150 - Tuesday, November 1st - Cyclic Sort
- Day 151 - Wednesday, November 2nd - Cyclic Sort
- Day 152 - Thursday, November 3rd - Top K Elements
- Day 153 - Friday, November 4th - Top K Elements
- Day 154 - Saturday, November 5th - Sliding Window
- Day 155 - Sunday, November 6th - Sliding Window
- Day 156 - Monday, November 7th - Sliding Window
- Day 157 - Tuesday, November 8th - Sliding Window
- Day 159 - Wednesday
- Day 159 - Thursday
- Day 160 - Day 162 Friday - Sunday
- Day 163 - Monday, November 14th - Sliding Window
- Day 164 - Tuesday, November 15th - Sliding Window
- Day 165 - Wednesday, November 16th - Sliding Window
- Day 166 - Thursday, November 17th - Sliding Window
- Day 167 - Friday, November 17th - Sliding Window
- Day 168 - Saturday, November 18th
- Day 169 - Sunday, November 19th
- Day 170 - Monday, November 21st - Sliding Window
- Day 171 - Tuesday, November 22st - Sliding Window & Two Pointers
- Day 172 - Monday, December 5th - Review Day
- Day 173 - Tuesday, December 6th - Two Pointers
- Day 174 - Wednesday, December 7th - Two Pointers
- Day 175 - Thursday, December 8th - Two Pointers
- Day 176 - Friday, December 9th - Two Pointers & Fast/Slow Pointer
- Day 177 - Saturday, December 10th - Personal Projects
- Day 178 - Sunday, December 11th - Personal Projects
- Day 179 - Monday, December 12th - Personal Projects & Two Heaps Pattern
- Day 180 - Monday, December 19th - Update
- Day 181 - Tuesday, December 20th - Update
Programming Study Tracker
If you have certain goals you're attempting to reach, a key ingredient is finding a way to hold yourself accountable. We're human, so naturally, we forget, we become lazy, and we lose a little bit of character when no one is watching. I want to get stronger technically and be a well rounded in my craft for various reasons. This tracker is a simple way for me to look back one day in the future and analyze my growth from day 1. This is pretty much updated daily and though I actually started documenting June 1st, i've been doing this since April. Before April, my attention was more project driven and much more enjoyable topics than DS&A, but there is no way to really escape Data Structures & Algorithms in the pursuit of the level of success I'm looking for 🤷♂️. Consistency is the key, and hard work beats the talent when the talent decides to not work.
Note: I'm actively employed, so keep in mind that this is only tracking my productivity outside of traditional work hours + weekend work This is in addition to the skillset being developed on the job and the work being done.
Coding Challenges Tracker
Topic | Solved |
---|---|
Array | 0 |
Binary Tree | 0 |
String | 0 |
Graph | 0 |
Linked List | 0 |
Stack | 0 |
Queue | 0 |
Sliding Window | 0 |
Binary Search | 0 |
Mock Interviews | 0 |
Total | 0 |
Other
Topic | Days Worked On |
---|---|
Personal Projects | 0 |
Resume | 0 |
System Design | 0 |
Behavioral | 0 |
Data Structures | 0 |
No Work Done | 0 |
Day 1: June 1st, 2022
- Reviewed The Best Tech Prep Guides(2)
- How To Practice LeetCode
- Interviewing
- Tried a Coding Challenge To Gauge Memory
- Uncompressed - Strings
Day 2:
- Signed Up for Mock Technical Interview With Brilliant Black Minds - Scheduled for June 8th
- Jumped back into Coding Challenges
- Uncompress - Strings
- Compressed - Strings
- Reviewed Big-O Notation
- Problem Solving with Algorithms and Data Structures Using Python Pages 57-81
- Created Flash Cards for Big-O
Day 3:
- Reviewed Chapter 7 Of Cracking The Coding Interview
- Cracking The Coding Interview - Pages 60-81
- Reviewed Big-O Notation via Flash Cards
- Added Flash Cards For Strings
- Added Flash Cards For Looping
- Added Flash Cards To Big-O for Optimizing Solution Strategies
- Coding Challenges
2
- Most Frequent Char - Strings
- Pair Sum - Arrays
Day 4
- Browsed Introductory chapter of Elements of Programming Interviews in Python book to get a feel for which questions need to be practiced for my timeframe.
- Read a few pages on Primitive Data Types and Looked over a few problems
- Go back to 4.3 and 4.11
- Created flash cards for Primitive Data Types
- Create flash cards for Arrays
Day 5 (3PM - 11:30)
- Elements of Programming Interviews in Python - Arrays
- Uncompress - Strings (Good)
- Most Freq Char - Strings (Good)
- Pair Product - Arrays - Optimized Solution Only (Good)
- Intersection - Arrays - Optimized Solution (Good)
- Five Sort - Arrays - Optimized Solution (Good)
- Sorted Array Remove Duplicates - Arrays - Elements of Programming Interviews (Needs Practice)
- Two Sum - Arrays - LC # 1
- Valid Anagram - String - LC # 242
Day 6 (1PM)
- Reviewed Big-O Notation Flash Cards (24)
- Five Sort - Arrays - Optimized Solution (Good)
- Majority Element - Arrays - LC# 169 Optimized Solution (Good)
- Contains Duplicate - Arrays - LC# 217 Optimized Solution (Good)
- Sorted Array Remove Duplicates - Arrays - Elements of Programming Interviews (Needs Practice)
- Buy and Sell Stock Once - Array - EPI 5.6
- Wasted lemonade on a $4.5k laptop 😲 😢 and had to take a 48 hour break (writing this ~48 hours later)
Day 7 (7:45 PM) - Laptop Works w/ NO ISSUES 🙏
- Reviewed The Technical Interview Process via The Algorithm Design Manual p429-434
- Best Time to Buy and Sell Stock - Array - LC #121 - (Needs Work)
- Enumerate All Primes to N - Array - EPI 5.9 (Needs Work)
- Move Zeroes - Array - LC #283 -(Needs Work)
Day 8 (7:45 PM)
- Best Time to Buy and Sell Stock - Array - LC #121 - (Still Needs Work) - Brute Force & Optimized
- Enumerate All Primes to N - Array - EPI 5.9 (Brute Force Ok, Optimized Needs Work)
- Move Zeroes - Array - LC #283 -(Needs Work)
Day 9 (8:30 PM)
- Move Zeroes - Array - LC #283 (Brute Force)
- Valid Palindrome - String - LC # 125 (Optimized)
- Squares of a Sorted Array - Array - LC #977 (Brute Force Solved 2 Ways)
Day 10 (3:00 PM)
- Insert Interval - Array - LC #57 (First Medium)
- Valid Palindrome - String - LC # 125 (Optimized)
- Move Zeros - Array - LC # 283 (Brute Force)
Day 11 (1:00 PM)
- Move Zeros - Array - LC #283 (Brute Force) OKAY
- Insert Interval - Array - LC #57 (First Medium)
- 3Sum - Array - LC #15 - Medium
- Best Time to Buy and Sell Stock - Array - LC #121 - (Still Needs A Work) - Brute Force & Optimized
- 3Sum Closest - Array - LC #16
Day 12 (6:00 PM)
- 3Sum Closest - Array - LC #16
- Product of Array Except Self - Array - LC #238
Day 13 (8:22 PM - 11:30PM)
- Product of Array Except Self - Array - LC #238 - Right but don't fully understand
- Sort Colors - Array - LC # 75 - Almost 100% Understand
Day 14 ( Stopped at 1: 26)
- 3Sum Closest - Array - LC #15- OKAY
- Rotate Array - Array - LC #89 - OKAY 2 Ways W & W/O Helper Function
- Sort Colors - Array - LC # 75 - Almost 100% Understand
Day 15
- Product of Array Except Self - Array - LC #238 - Remember To Use Range - OK
- Combination Sum - Dynamic Programming - LC #39 - WRONG - Try Again When i make it to DP Probs
- Non-Overlapping Intervals - Array - LC #435 - Needs work for sure
- Caleb Curry - Intro to Data Structures and Algorithms Video
- Problem Solving With Algorithms and Data Structures Using Python - Searching (Sequential Searching and Binary Search)
Day 16
- Non-Overlapping Intervals - Array - LC #435 - Remember MINIMUM
- Merge Intervals - Arrays - LC #56
- Contiguous Array - Array - LC #525 - Done, but need to understand logic better
Day 17 - REVIEW DAY - Saturday - June 18th
- Two Sum - Arrays - LC # 1 - BF & Optimized in Under 15 Mins
- Best Time to Buy and Sell Stock - Array - LC #121 - BF - At the Recc 20 Mins
- Insert Interval - Array - LC #57 - Understand, but needs work with the algorithm pattern 😞
- 3Sum - Array - LC #15 - Medium - Very Close
- Product of Array Except Self - Array - LC #238 - Remember To Use Range - OK
- Caleb Curry - DS&A Course - 2 Modules - Intro to Classes & Objects/Build Classes Challenge
Day 18 - FATHER'S DAY - BURNOUT PROTECTION DAY
- NOTHING
Day 19
- Insert Interval - Array - LC #57 - Refresher - Work on Solving in ~<= 30 Minutes, Everything Else is OKAY
- Sum of Subarray Equals K - Array - LC #560 - Worked this one thoroughly - Work on Timing and Understanding (35 mins is the goal)
- Caleb Curry - DS&A Course - 1 Module - Overriding Methods
- Caleb Curry - Python Backend Development Course - 1 Module - Requirements.txt
Day 20
- Sum of Subarray Equals K - Array - LC #560 - Done in under 35 - Work on Understanding and not Memory
- Longest Consecutive Sequence - Array - LC #128 - Simple - Redo It
- Sort Colors - Array - LC # 75 - Rusty
- Rotate Array - Array - LC #89 - Rusty
Day 21
- Sort Colors - Array - LC #75
- Longest Palindrome - String - LC #409 - Don't Understand the return statement
- Merge Intervals - Arrays - LC #56
- Code Signal DS&A 45 Min Practice Assessment - Didn't Do Well (768 / 1678)
Day 22
- Longest Palindrome - String - LC #409 - Don't Understand the return statement still
- Container With The Most Water - Array - LC #11 - Spent All Night On This But Solved
Day 23
- Gas Station - Array/Greedy Algorithm - Code is Fairly Straight Forward
Day 24 - Review Day
- Container With The Most Water - Array - LC #11 - Understood (remember width is the starting idx minus the ending index)
- Gas Station - Array/Greedy Algorithm - Okay with the solution (Remember Gas Received Minus Gas Cost is your total)
- 3Sum Closest - Array - LC #16
- Binary Search - Binary Search/Array - LC #704
- Binary Search - Binary Search/Array - Structy #116
- Combine Intervals - Array - Structy #115 - With Tuples instead of lists - Ran into issues
Day 25
- Miguel Grinberg React Course
- Chapter 1: Modern JavaScript
- Chapter 2: Hello, React!
- Longest Palindrome - String - LC #409 - Don't Understand the return statement still
Day 26
- First Bad Version - Binary Search - LC #278
Day 27
- First Bad Version - Binary Search - LC #278
- Search In Rotated Sorted Array - Medium - LC #33
- Depth First Values - Binary Tree - Structy
- Binary Tree In Order Traversal - NOT COMPLETED
Day 28
- Minimum Value of Rotated Sorted Array - LC #153
- The Tech Resume Inside and Out - Resume Adjustments
- Interviews.School Interview Prep
- Grokking The System Design Interview
- 7 Step Method to Acing System Design Interviews
- Search a 2D Matrix - LC #75 - Medium
Day 29
- [[REDACTED]]
Day 30
- Time Based Key-Value Store - LC #981 - Binary Search
- Contiguous Array - Array - LC #525 - Very Rusty and Wrong Approach
- 3Sum - Array - LC #15 - Medium
Day 31
- OFF
Day 32 - Official Start of Binary Tree Problems
- 3Sum - Array - LC #15 - Medium
- Creating a Node Object Class in Python and BFS/DFS Review Vids Via Structy
- Depth First Values - Binary Tree - Iteratively - Structy #37
- Depth First Values - Binary Tree - Recursively - Structy #37
Day 33
- Breadth First Values - Structy #38 - Iteratively/BFS
- Tree Sum - Structy #39 - Recursively/DFS
- Tree Sum - Structy #39 - Iteratively/BFS
- Tree Includes - Structy #40 - Recursively/DFS
- Tree Includes - Structy #40 - Iteratively/BFS
- Tree Min Value - Structy #41 - Iteratively/DFS
- Tree Min Value - Structy #41 - Recursively/DFS
- Max Root to Leaf Path Sum - Structy #42 - Recursively/DFS
- Tree Path Finder - Structy #43 - Recursively/DFS
- Tree Path Finder - Structy #43 - Recursively/DFS (MOST EFFICIENT W/HELPER FUNCTION)
Day 34
- Grokking The System Design Interview: Designing a URL Shortening service like TinyURL - System Design - 2 Hrs
- Tree Path Finder - Structy #43 - Recursively/DFS (MOST EFFICIENT W/HELPER FUNCTION)
- Tree Value Count - Structy #44 - Recursively/DFS
- Tree Value Count - Structy #44 - Iteratively/BFS
- How High - Structy #45 - Recursively/DFS
- Bottom Right Value - Structy #46 - Iteratively/BFS/Queue
- All Tree Paths - Structy #47 - Recursively/DFS/Call Stack
- Maximum Depth of Binary Tree - Leetcode # 104 - Easy - Binary Tree
Day 35
- Worked on Resume for 2 hours(Reworked Projects and added Python skills)
- All Tree Paths - Structy #47 - Recursively/DFS/Call Stack
- Tree Levels - Structy #48 - BFS/Iteratively/Queue
- Tree Levels - Structy #48 - DFS/Recursively/Call Stack
- Level Averages - Structy #49 - DFS/Recursively/Calls Stack
- Level Averages - Structy #49 - BFS/Iteratively/Queue
- Leaf List - #49 Structy- DFS/Iteratively/Stack Solution
- Leaf List - #49 Structy- DFS/Recursively/Call Stack Solution
Day 36
- Invert Binary Tree - #226 Leetcode DFS/Recursively/Call Stack
- Flip Tree - Structy #106 DFS/Recursively/Call Stack
- Balanced Binary Tree - Leetcode #110 - Recursively/DFS/CS
- Binary Tree Level Order Reversal - Leetcode #102 - BFS/Queue/Iteratively(Equivalent of Tree Levels)
Day 37
- Binary Tree Right Side View - LeetCode #199 - BFS/Queue/Iterative Solution
- Path Sum II = LeetCode #113 - DFS/CS/Recursive Solution
Day 38
- Problem Solving With Algorithms and Data Structures Using Python - Binary Trees
- Binary Tree Right Side View - LeetCode #199 - BFS/Queue/Iterative Solution
- Maximum Width of A Binary Tree - Leetcode #662 - BFS/Queue/Iterative Solution
- IMPORTANT STUFF TO DO - DONE FOR THE DAY AFTER 4 HOURS
Day 38
- Maximum Width of A Binary Tree - Leetcode #662 - BFS/Queue/Iterative Solution
- Same Tree - Leetcode #100 - DFS/CS/Recursively
- Symmetric Tree - Leetcode #101 - DFS/CS/Recursively
- Binary Tree ZigZag Level Order Traversal - LeetCode #103 - BFS/Queue/Iterative Solution
- Five Sort - #14 Structy - Arrays - Iteratively
- Uncompress - #06 Structy - Strings - Iteratively
Day 39
- Build Array from Permutation - Leetcode #1920 - Arrays
- Black Brilliant Minds Mock Interview - 4 Array Problems Basically - Study 2D-Arrays Deeper
- Remove Duplicates from Sorted Array - Leetcode # 26 - Arrays
- Plus One - Leetcode #66 - Arrays
Day 40
- All Tree Paths - Structy #47 - Recursively/DFS/Call Stack
- Number of Good Pairs - Leetcode #1512 - Arrays - Brute Force
- Kids With the Greatest Number of Candies - Leetcode #1431 - Arrays
Day 41
- Count Number of Pairs With Absolute Difference K - LeetCode #1006 - Array - BF
- ALOT MORE BUT ALOT OF FAILS TO NO COMPLETION,SIMPLY EXITED
Day 42
- Lucky Numbers in a Matrix - Leetcode #1380 - Arrays
Day 43
- Diameter of a Binary Tree - Leetcode #533 - Binary Tree - DFS/Recursively
- Lowest Common Ancestor of a Binary Tree - Structy #105 - DFS/Recursively
- Lowest Common Ancestor of a Binary Tree - LeetCode #236 - DFS/Recursively
- Subtree of Another Tree - Binary Tree - LeetCode #572 - DFS/Recursively
Day 44
- Rotate Image - LeetCode #48 - Matrix/Arrays - 2 Ptr Strategy
- Sort Colors - Array - LC #75 - Almost 100% Understand
- Longest Common Prefix - Leetcode #14 - String - WRONG
Day 45
- Sort Colors - Array - LC #75 - Almost 100% Understand
- Rotate Image - LeetCode #48 - Matrix/Arrays - 2 Ptr Strategy
- Set Matrix Zero's - Leetcode #73 - Matrix/Arrays - 2 Ptr Strategy
Day 46
- Anki Cards - Binary Tree and
- Rotate Image - LeetCode #48 - Matrix/Arrays
- Longest Common Prefix - Leetcode # 14 - Strings
- 3Sum - Array - LC #15 - Medium
Day 47
- Longest Palindrome - String - LC #409
- Longest Common Prefix - Leetcode # 14 - Strings
- Largest Number - Leetcode #179 - Strings
Day 48
- Longest Palindrome - String - LC #409
- Longest Palindromic Substring - String - LC #409
- Largest Integer - List to String - LC #179
- 3Sum Closest - Array - LC #16
- 3Sum - Array - LC #15 - Medium
Day 49
- Rotate Image - LeetCode #48 - Matrix/Arrays
- Balanced Binary Tree - Leetcode #110 - Recursively/DFS/CS
- 3Sum - Array - LC #15 - Medium
- Longest Palindromic Substring - String - LC #409
Day 50 - OFF
Day 51 - OFF
Day 52
- Longest Common Prefix - Leetcode # 14 - Strings
Day 53 - Official 1st Day Back
- Longest Common Prefix - Leetcode # 14 - Strings
- Longest Palindromic Substring - String - LC #409
- Group Anagrams - Strings - LeetCode #49
Day 54
- Ransom Note - String - LC #383 - GO BACK TO THIS
- Product of Array Except Self - Array - LC #238
- Get the Middle Character - Strings - Codewars
- Array.Diff - Array - Codewars
- Find All Anagrams in a String - Leetcode #438 - Strings
Day 55
- Shuffle String
- Product of Array Except Self - Array - LC #238
- Find All Anagrams in a String - Leetcode #438 - Strings
- Longest Substring Without Repeating Characters - Strings - LC #3
Day 56
- Longest Substring Without Repeating Characters - Strings - LC #3
- 3Sum Closest - Array
- Personal Project For the Remainder of Night
Day 57
- Ransom Note - String - LC #383
- Contiguous Array - Array - LC #525
- Binary Search - Binary Search/Array - LC #704
Day 58
- Tree Min Value - Structy #41 - Iteratively/DFS
- Tree Min Value - Structy #41 - Recursively/BFS
- Longest Palindromic Substring - String - LC #409
- Longest Palindrome - String - LC #409
- Largest Number - Leetcode #179 - Strings
- 3Sum Closest - Array - Leetcode #16 - Array
- 3Sum - Array - LC #15 - Medium
- Path Sum II - Leetcode #113 - Not Solved Yet
Day 59 - Sunday August 2nd
- BBM Mock Interview - 1 hr - Another Grid/2D Array Question
- Contiguous Array - Array - LC #525
Day 60
- Contiguous Array - Array - LC #525
- Longest Repeating Character Replacement - LC #424 - Strings
- Non-Overlapping Intervals - Array - LC #435
Day 61
- Longest Repeating Character Replacement - LC #424 - Strings
- Non-Overlapping Intervals - Array - LC #435
- Largest Number - Leetcode #179 - Strings
- Rotate Image - LeetCode #48 - Matrix/Arrays - 2 Ptr Strategy
Day 62
- Rotate Image - LeetCode #48 - Matrix/Arrays - Don't understand where the inner loop i goes
- Graph Refresher via Structy - Graph Intro - Video and Notes
- Graph Warm Up via Structy - Video and Notes
- Has Path - Structy #056 - DFS Iteratively
- Has Path - Structy #056 - DFS Recursively
Day 63
- Big Project at Work Kept Me Busy All Night
- Non-Overlapping Intervals - Array - LC #435
- [[REDACTED]]
Day 64
- Has Path - Structy #056 - DFS Recursively
- Has Path - Structy #056 - BFS Iteratively
- Big O - OOM of Graphs - Structy
- Undirected Path - Structy #057 - DFS Recursively
- Contiguous Array - Array - LC #525
- Largest Number - Leetcode #179 - Strings
Day 65
- [REDACTED]
- Personal Projects/Content
Day 66
- New Blog Post: College vs Coding BootCamp - Took All Afternoon/Evening to Prepare
Day 67
- Connected Components - Structy #58 = Graphs - DFS Recursively
- Undirected Path - Structy #057 - DFS Recursively
- Busy working on Project
Day 68 - August 9th, 2022
- Undirected Path - Structy #057 - DFS Recursively
- Connected Components - Structy #58 = Graphs - DFS Recursively
- Longest Palindromic Substring - String - LC #409
- Largest Component - Graph - Structy #59
- Big O Fundamentals Notecards Review via Anki
- Binary Tree Fundamentals Notecards Review via Anki
- Static Site Updates - Search Bar, Contact Page, About Page, Tracker Added
- Twitter Bot Update - Ability to Add Media TO Tweets
Day 69
- SICK
- Largest Component - Graph - Structy #59
Day 70
- Twitter Thread for College vs Bootcamp Article
- Shortest Path - Graph - Structy #60
- Group Anagrams - Strings - LeetCode #49 (Completely Forgot Solution)
Day 71 - Traveling
- Shortest Path - Graph - Structy #60
- Island Count - Graph - Structy #61
Day 72
- Island Count - Grid-Graph - Structy #61 (Finding Islands/Boolean)
- Minimum Island - Grid-Graph - Structy #62 (Finding Smallest Island/Integer)
- Largest Number - Leetcode #179 - Strings
Day 73
- Minimum Island - Grid-Graph - Structy #62 - Finding Smallest Island/Integer
- Closest Carrot - Grid Graph - Structy #63 - Variation of Shortest Path using BFS
- Move Zeroes - Arrays - Leetcode #283 - 2 pointer strategy
- Squares of A Sorted Array - Leetcode #977
Day 74
- Closest Carrot - Grid-Graph - Structy #63
- Longest Path - Graph - Structy #64
- Architecting React Components
- Starting a new project soon and it needs to be technically better than the prior project.
- 3Sum Closest - Array - LC #16
- Longest Palindromic Substring - String - LC #5
- Created Script To Get New Proxy/IP After x Amount of Requests
- Source 1: Scraping Article
- Source 2: Rotating IP Proxy w/Python
Day 75
- Longest Path - Graph - Structy #64
- Longest Consecutive Sequence - Array - LC #128
Day 76 - Thurs, August 18th, 2022
- Semesters Required - Graph - Structy #65
- Longest Consecutive Sequence - Array - LC #128
Day 77 - Friday, August 19th
- Semesters Required - Graph - Structy #65
- Longest Consecutive Sequence - Array - LC #128
- 3Sum - Array - LC #15 - Medium
- 3Sum Closest - Array - LC #16
Day 78 - Saturday, August 20th
- 3Sum Closest - Array - LC #16
- Rotate Array - Array - LC #89 - Solved w/HF to Swap Vals
- Has Path - Structy #056 - DFS/Recursively/CS-LIFO
- Has Path - Structy #056 - BFS/Iteratively/Queue-FIFO
- Undirected Path - Structy #057 - DFS Recursively
- Resolved issues with connecting Amazon RDS
- Wrote Blog Post On Debugging RDS Issues
Day 79 - Sunday, August 21st
- Caleb Curry - Python Backend Engineer Course
- Deploying to AWS with Postgres
- Migrations with Production Database
- Setting up Elastic Beanstalk CLI
- Set up G-Suite & Professional Email
- Semesters Required - Graph - Structy #65
- Rotate Array - Array - LC #89
- Back to work on active twitter bot/debugging - Worked On
- Duplicate Tweets Fix
- Send Images in Addition to Text
- Automate Deployment of AWS Lambda Func from Master branch
- Connected Components - Structy #58 - Graphs - DFS Recursively
Day 80 - Monday, August 22nd
- Five Sort - Array - Solved with while loop
- Tree Sum - Structy #39 - Recursively/DFS
- Connect to RDS Article Completed and Deployed
- Working through Reddit API Issues
Day 81 - Tuesday, August 23rd
- Shortest Path - Graph - Structy #60 - BFS/Iterative Solution
- Sum of Subarray Equals K - Array - LC #560
- My Portfolio Site Revamped and Deployed
- Rotate Array - Array - LC #89
Day 82 - Wednesday, August 24th
- Best Bridge - Grid-Graph - Structy #66
- A flip on the "shortest-path" grid graph problem
- DFS/Recursion for Finding the First Potential Island
- BFS/Iterative Approach for Locating The Next Closest Island
- Time: O(rc)
- 1 Main Func, 2 Helpers, 50 Lines of Code to Solve One Problem
- Insert Interval - Array - LC #57
- Time - O(n)
- Key Strategy
- Comparing the start against the ending of the prior interval
- Reddit API Access Works Now
- Working through the JSON structure to access images and currently running into issues.
Day 83 - Thursday, August 25th
- Best Bridge - Grid-Graph - Structy #66
- Has Cycle - Graph - Structy #67
- Checking for cycles in a DAG utilizing Red/Black/Grey Strategy
- Product of Array Except Self - Array - LC #238
- Reddit API Testing - Can Pull Images Back Now
Day 84 - Friday, August 26th
- Has Cycle - Graph - Structy #67
- PreReqs Possible - Graph - Structy #68
- This is a mix of Checking for Cycles in a DAG with a mix of Semesters Required
- Set up next BBM Mock Interview
- Product of Array Except Self - Array - LC #238
- Two Sum - Arrays - LC # 1
Day 85 - Saturday, August 27th
- Prereqs Possible - Graph - Structy #68
- End of Graph Module Quiz - Structy #69
- Rotate Array - Array - LC #89
- Work on Search feature for Tech Blog
- Sum of Subarray Equals K - Array - LC #560
- Worked on Reddit Scraping Project for the Remainder of the Night
Day 85 - Sunday, August 28th
- BBM Mock Interview
- Problem 1: Array
- Problem 2: Graph-Grid Graph
- New Article Up - Making Conditional HTTP Requests --> CLICK ME
Day 86 - Monday, August 29th
- Prereqs Possible - Graph - Structy #68
- Reviewed Dynamic Programming Module of Structy
- Fib - Dynamic Programming - Structy #72
- Solved Recursively
- Solved with Memoization
- Majority Element - Arrays - LC# 169 Optimized Solution - O(N)
Day 87 - Tuesday, August 30th
- Update DNS for New Email
- Caleb Curry Data Structures and Algorithms Course
- Overriding Methods in Classes
- Class Variables and Reading Files (Creating Cameras from a Text File)
- Exercise: Create a Class Method that Reads a Camera File, Parses It and returns Camera Data in the correct form
- BBM Study Session - 7:00 - 8:30
- Fib - Dynamic Programming - Structy #72 - Solved Both Ways (Recursively & Recursively w/Memoization)
- Tribonacci - Dynamic Programming - Structy #73 - Solved Both Ways (Recursively & Recursively w/Memoization)
- Sum of Subarray Equals K - Array - LC #560
- Updates to Contact Page (WIP)
Day 88 - Wednesday, August 31st
- Insert Interval - Array - LC #57
- Tree Includes - Structy #40 - Recursively/DFS - Binary Trees
- Tree Includes - Structy #40 - Iteratively/BFS - Binary Trees
- Best Time to Buy and Sell Stock - Array - LC #121
- Optimized - O(N) 1 Loop
- Track the lowest price
- Track max profit --> currentDiff vs what is currently max
- Track the difference between the lowest value and current price
- Brute Force - O(n^2) 2 Loops
- Optimized - O(N) 1 Loop
- Island Count - Graph - Structy #61 - DFS/Recursively
- Tribonacci - Dynamic Programming - Structy #73 - Solved Both Ways (Recursively & Recursively w/Memoization)
- Dynamic Programming Visualizing Overview With Structy Video
Day 89 - Thursday, September 1st
- New Article Discussing Dynamic Programming
- Sum Possible - Structy #74 - Dynamic Programming
- Solved brute force and optimized
- Brute Force TC - O(2^n) - Exponential, Optimized TC - O(n * a)
- SC - O(a) - Call Stack Will never be greater than the # of tree levels from parent to leaf(bc)
- Min Change - Structy #75 - Dynamic Programming
- Solved BF and Optimized with Memoization
- BF Time - O(2^a) / Space - O(a)
- Optimized - O(a * c) / Space - O(a)
Day 90 - Friday, September 2nd
- Min Change - Structy #75 - Dynamic Programming
- Solved BF and Optimized with Memoization
- BF Time - O(2^a) / Space - O(a)
- Optimized - O(a * c) / Space - O(a)
- Don't forget to add the original coin (+ 1) to the recursive calls
- Count Paths - Structy #76 - Dynamic Programming
- Time: O(2^(r + c)) - Exponential & O(rc) - Linear
- Space: O(rc)
- Grid-Graph problem with DP incorporated
- Solved BF and Optimized with Memoization
- Product of Array Except Self - Array - LC #238
- Time: O(n) - Space: O(n)
- Longest Palindrome - String - LC #409
- Return statement is finally understood
- Binary Search - Binary Search/Array - LC #704
- Time: O(n log n)
- Don't forget that the array of numbers is reassigned to initiate the halving/slicing
Day 91 - Saturday, September 3rd
- Count Paths - Structy #76 - Dynamic Programming
- Time: O(2^(r + c)) - Exponential & O(rc) - Linear
- Space: O(rc)
- Grid-Graph problem with DP incorporated
- Solved BF and Optimized with Memoization
- Max Path Sum - Structy #77 - Dynamic Programming
- Time: O(2^(r + c)) Exponential & Space: O(r + c) - Brute Force
- Time: O(rc) - Linear and Space: O(rc) - Optimized
- Grid Graph w/ DP - Find Largest Path from top left to bottom right
- Largest Number - Leetcode #179 - Strings
- Level Averages - Unfinished
Day 92 - Sunday, September 4th
- Level Averages - Structy #49 - Binary Tree - BFS/Iteratively/Queue
- Linked List Values - Structy #19 - Linked List - BFS/Iteratively/Queue
- Linked List Values - Structy #19 - Linked List - DFS/Recursively/Call Stack
- Sum List - Structy #20 - Linked List DFS
- BBM Mock Interview
- Question 1: Array
- Question 2: No Code, But Which Data Structure Would Work Best?
- Question 3: Grid-Graph w/Specific Directions(Not All)
- Much work done on scraping project
Day 93 - Monday, September 5th
- Max Path Sum - Structy #77 - Dynamic Programming
- Time: O(2^(r + c)) Exponential & Space: O(r + c) - Brute Force
- Time: O(rc) - Linear and Space: O(rc) - Optimized
- Grid Graph w/ DP - Find Largest Path from top left to bottom right
- Non-Adjacent Sum - Structy #78 - Dynamic Programming
- Time: O(2^n) Exponential & Space: O(n) - BF
- TIme: O(n) Linear & Space: O(n) - Optimized
- Array Problem w/DP - Find the largest sum of nums that aren't beside one another
- Number of Islands - Leetcode #200 - Grid-Graph
- Time: O(rc) and Space: O(rc) - Linear
- Course Schedule - Leetcode #207 - RGB Graph Cycle
- Time: O(e)/O(n^2) Space: O(n)
- Coin Change - Leetcode #322 - Dynamic Programming
- Solved BF and Optimized with Memoization
- BF Time - O(2^a) / Space - O(a)
- Optimized - O(a * c) / Space - O(a)
- Don't forget to add the original coin (+ 1) to the recursive calls
Day 94 - Tuesday, September 6th
- Non-Adjacent Sum - Structy #78 - Dynamic Programming
- Time: O(2^n) Exponential & Space: O(n) - BF
- TIme: O(n) Linear & Space: O(n) - Optimized
- Array Problem w/DP - Find the largest sum of nums that aren't beside one another
- Sum List - Structy #20 - Linked List DFS
- Summing Squares - Structy #79 - Dynamic Programming
- Time: O(sqrt(n)^(n)) Space: O(n) - Brute Force
- Time: O(n * sqrt(n)) Space: O(n) - Optimized
- Find the smallest amount of perfect squares that it takes to sum the passed in number
Day 95 - Wednesday, September 7th
- Summing Squares - Structy #79 - Dynamic Programming
- Time: O(sqrt(n)^(n)) Space: O(n) - Brute Force
- Time: O(n * sqrt(n)) Space: O(n) - Optimized
- Find the smallest amount of perfect squares that it takes to sum the passed in number
- Climbing Stairs - Leetcode #70 - Dynamic Programming
- Brute Force: Time - O(2^(n)) Space - O(n)
- Optimized: Time - O(n) Space - O(n)
- How many steps does it take to reach the top using incrementing at either 1 or 2 steps at a time?
- Counting Change - Structy #80 - Dynamic Programming
- Time: O(a*c) Space: O(a * c) - Optimized
- a = amount to make, c = array of coins to choose from
- Gotchas? - Memo Dict will be tuple keys of each amount and index of each coin
Day 96 - Thursday, September 8th
- Counting Change - Structy #80 - Dynamic Programming
- Time: O(a*c) Space: O(a * c) - Optimized
- a = amount to make, c = array of coins to choose from
- Gotchas? - Memo Dict will be tuple keys of each amount and index of each coin
- Array Stepper - Structy #81 - Dynamic Programming
- Time: O(n^2) - Quadratic Space: O(n) - Linear
- PS: Can you make it to the end of the array with the values given?
- Jump Game - Leetcode #55 - Dynamic Programming
- Same question as Array Stepper, different platform
- Time: O(n^2) - Quadratic Space:O(n) 0 Linear
- Database Storage of Images Research
Day 97 - Friday, September 9th
- Array Stepper - Structy #81 - Dynamic Programming
- Time: O(n^2) - Quadratic Space: O(n) - Linear
- PS: Can you make it to the end of the array with the values given?
- Max Palin Subsequence - Structy # 82 - Dynamic Programming
- Time: O(s^2) - Quadratic Space: O(s^2) - Quadratic
- PS: find the longest word that is in the string AND is spelled the same forward and backwards
Day 98 - Saturday, September 10th
- BBM Mock Interview
- Dictionary and Arrays - Answered 3.5/4 before running out of time
- Mental Health break
Day 99 - Sunday, September 11th
- Max Palin Subsequence - Structy # 82 - Dynamic Programming
- Time: O(s^2) - Quadratic Space: O(s^2) - Quadratic
- PS: find the longest word that is in the string AND is spelled the same forward and backwards
- 2 pointers to track start and end of current string/also what is used to compare substring lengths
- Overlap Subsequence - Structy #83 - Dynamic Programming
- Very similar to Max Palin Subsequence just without tracking end of strings
- Time: O(nm) - Linear Space: O(nm) - Linear
- PS: Avoid slicing (copies are made) of the string and use indexing for each string instead
- Contains Duplicate - Arrays - LC# 217
- Two Sum II - Leetcode #167 - Input Array Is Sorted - Array
- Time: O(n), Space: O(n) - Optimized n = input ### Day 100 - Monday, September 12th 🏆 🏆 🏆
- Overlap Subsequence - Structy #83 - Dynamic Programming
- Very similar to Max Palin Subsequence just without tracking end of strings
- Time: O(nm) - Linear Space: O(nm) - Linear
- PS: Avoid slicing (copies are made) of the string and use indexing for each string instead
- Can Concat - Structy #84 - Dynamic Programming
- Checking to verify if you can in fact make an identical string from the array of words that are passed in
- Time: O(a^s) - Quadratic Space: O(s) Linear - Brute Force
- Time: O(a*s) - Linerar Space: O(s) - Linear Optimized
- Strategy: Loop the array --> Slice chars off of the string as they are found
- Hint: Use .startswith() to compare the current string char against the word array character
- Quickest Concat - Structy #85 - Dynamic Programming
- A spin on the last problem: You're given a string of letters and an array of words --> return the minimum num of words needed from the array to make the string again.
- Brute Force: Time: O(a^s) - Quadratic / Space: O(s) - Linear
- Optimized: Time: O(a*s) - Linear Space: O(s) - Linear
- Dynamic Programming Structy Flashcard Quiz
Day 101 - Tuesday, September 13th
- Can Concat - Structy #84 - Dynamic Programming
- Checking to verify if you can in fact make an identical string from the array of words that are passed in
- Time: O(a^s) - Quadratic Space: O(s) Linear - Brute Force
- Time: O(a*s) - Linerar Space: O(s) - Linear Optimized
- Strategy: Loop the array --> Slice chars off of the string as they are found
- Hint: Use .startswith() to compare the current string char against the word array character
- Quickest Concat - Structy #85 - Dynamic Programming
- A spin on the last problem: You're given a string of letters and an array of words --> return the minimum num of words needed from the array to make the string again.
- Brute Force: Time: O(a^s) - Quadratic / Space: O(s) - Linear
- Optimized: Time: O(a*s) - Linear Space: O(s) - Linear
- Max Subarray - Leetcode # 53 - Array
- Optimized O(n) & Brute Force O(n^2)
- Tip: Consider all test cases, even those not listed
- Binary Tree Level Order Reversal - Leetcode #102 - BFS/Queue/Iteratively(Equivalent of Tree Levels)
- Personal Project for a few hours
Day 102 - Wednesday, September 14th
- Max Path Sum II - Leetcode #113 - Binary Tree - Not Solved
- 3 or 4 New Graph/DP/BT Problems -- None Solved
Day 103 - Thursday, September 15th
- Quickest Concat - Structy #85 - Dynamic Programming
- Back To Back SWE - Clone an Undirected Graph Walkthrough
Day 104 - Friday, September 16th
- Clone Graph - Leetcode #133 - Graph - DFS/Recursive Solutions
- Finally solved after watching a few videos
- Need to confirm Time/Space Complexity
- Sliding Window Technique - Algorithmic Mental Models
- Great Video For Understanding & Recognizing This Pattern
- Max Subarray - Leetcode # 53 - Array - Optimized
Day 105 - Saturday, September 17th
- Focus is Sliding Window Problems
- Sum of Subarray Equals K - Array - LC #560
- Worked through a few more problems that I couldn't solve
- Web Scraping Project
- Automate Upload to S3
- Add ability for new folders to be created for each page being analyzed
Day 106 - Sunday, September 18th
- BBM Mock Interview
- Array Problem - Solved
- Array Problem 2 - Solved
- Grid-Graph/2D Array Problem 1 - Solved
- Grid-Graph/2D Array Problem 2 - Stuck
- Search Insert Position - Array - Leetcode #35
- Verifying an Alien Dictionary - Array & String - Leetcode #953
- Utilized .get() to pull values from dict, continue, and break as well
- Time: O(N^2) / Space: O(N)
Day 107 - Monday, September 19th - Sliding Window Pattern
- Mental Models for Algorithms Post
- Sliding Window Technique
- Average of All Subarrays of Size K - Educative
- Time: O(N) - Optimized space: O(N)
- Utilized Sliding Window Pattern
- Maximum Sum of Subarray of Size K
- Time: O(N * k) - Optimized Space: O(N)
- Sliding Window
- Max Subarray - Leetcode # 53 - Array
- Optimized O(n) & Brute Force O(n^2)
- Smallest Subarray With Greater Than Or Equal Sum - Educative
- Time: O(N)
- Max Product Subarray - Can't Solve
- Minimum Size Subarray Sum - Leetcode #209
- Time: O(N) and Space: O(1)
- Started Building Out Landing Page/Web UI Portion of Web Scraping Project
- React, Material UI, Django, Postgres/RDS, AWS S3
Day 108 - Tuesday, September 20th - Sliding Window Pattern
- Max Subarray - Leetcode # 53 - Array - Leetcode - Overthought It
- Optimized O(n) & Brute Force O(n^2)
- Longest Substring With Max of K Characters - Strings - Educative
- Optimized: Time - O(N) and Space - O(K)
- Longest Substring Without Repeating Characters - LeetCode #3 - Strings
- Optimized: Time- O(N) and Space - O(K) - Only a certain amount of values in the dict at once
- k = # of values in the dictionary, n = # of chars in the string
Day 109 - Wednesday, September 21st - Sliding Window Pattern
- Longest Substring With Max of K Distinct Characters - Strings - Sliding Window -Educative
- Optimized: Time - O(N) and Space - O(K)
- Fruit Into Baskets - Array - Sliding Window - Medium - Educative
- Optimized: Time - O(N) and Space - O(1)
- Fruit Into Baskets - Array - Sliding Window - Medium - LeetCode #904
- Optimized: Time - O(N) and Space - O(K)
- Longest Repeating Character Replacement - LC #424 - Strings - Sliding Window
- Optimized: Time - O(N) and Space - O(K)
Day 110 - Thursday, September 22nd - Sliding Window Pattern
- Maximum Consecutive One - Arrays - LeetCode #1004 - Sliding Window
- Optimized: Time - O(N) and Space - O(1)
- Longest Subarray with Ones after Replacement - Educative - Medium - Sliding Window
- Optimized: Time - O(N) and Space - O(1)
- Permutation in String - String - Leetcode #567 - Medium - Sliding Window
- Optimized: Time - O(N + M) and Space - O(M)
- Permutation in String - String - Educative - Medium - Sliding Window
- Optimized: Time - O(N + M) and Space - O(M)
Day 111 - Friday, September 23nd - Sliding Window Pattern
- String Anagrams - Educative - Sliding Window - String
- Optimized: Time - O(N + M) & Space - O(M)
- Find All Anagrams in a String - Leetcode #438 - Strings
- Optimized: Time - O(N + M) & Space - O(M)
Day 112 - Saturday, September 24th - Sliding Window Pattern
- Smallest Window Containing Substring - Educative - Sliding Window - String
- Optimized: Time - O(N + M) & Space - O(M)
- Minimum Window Substring - Leetcode # 76 - String
- Optimized: Time - O(N + M) & Space - O(M)
Day 113 - Sunday, September 25th - Modified Binary Search Pattern
- Order-Agnostic Binary Search - Educative
- Article written discussing the Binary Search Pattern
- Search Insert Position - Array - Leetcode #35
- Ceiling of A Key - Binary Search - Educative
- Optimized: Time: O(logN) & Space: O(1)
- Floor of A Key - Binary Search - Educative
- Optimized: Time: O(logN) & Space: O(1)
Day 114 - Monday, September 26th - Modified Binary Search Pattern
- Next Letter - Educative - BSP
- Time: O(log N) Space: O(1)
- Find Smallest Letter Greater Than Target - Leetcode #744 - BSP
- Time: O(log N) Space: O(1)
- Find First and Last Position of Element in Array - Leetcode #34 - BSP
- Time: O(log N) Space: O(1)
- Number Range - Educative - BSP - Just Like LC34
- Time: O(log N) Space: O(1)
Day 115 - Tuesday, September 27th - Modified Binary Search Pattern
- Search in a Sorted Infinite Array - Educative - BSP
- Time: O(log N) Space: O(1)
- Minimum Difference Element - Educative - BSP
- Time: O(log N) Space: O(1)
- Personal: Working through Django
Day 116 - Wednesday, September 28th, Modified Binary Search Pattern
- Find Max Value In Bitonic Array - Educative - Binary Search
- Time: O(log N) Space: O(1)
- Search Bitonic Array - Educative - Binary Search
- Time: O(log N) Space: O(1)
- 2 Questions Left
Day 117 - Thursday, September 29th, Modified Binary Search Pattern
- Search in A Rotated Array - Educative - Binary Search
- Time: O(log N) Space: O(1)
- Search in A Rotated Array - Leetcode #33 - Binary Search
- Time: O(log N) Space: O(1)
Day 118 - Friday, September 30th, Modified Binary Search Pattern
- Rotation Count - Educative - Binary Search
- Time: O(log N) Space: O(1)
- Find Minimum In Rotated Sorted Array - Leetcode #153 - Binary Search
- Time: O(log N) Space: O(1)
- Created Container for Lambda Function That Controls Twitter Bot
Day 119 - Saturday, October 1st, Modified Binary Search Pattern
- Search in A Rotated Array - Leetcode #33 - Binary Search
- Time: O(log N) Space: O(1)
- Find First and Last Position of Element in Array - Leetcode #34 - BSP
- Time: O(log N) Space: O(1)
Day 120 - Sunday, October 2nd
- MENTAL BREAK FROM CODING CHALLENGES
- Launched new project
- Technologies Used: AWS Elastic Beanstalk, Docker, Django(Backend), Postgresql(DB), React(UI)
Day 121 - Monday, October 3rd - 2 Pointers Search Pattern
- Pair With Target Sum - Educative - 2 Pointers
- Time: O(N) Space: O(1)
- Remove Duplicates - Educative - 2 Pointers
- Time: O(N) - Space: O(1)
- Remember: Pointers are together as opposed to opposite ends of the array
- Remove Duplicates From Sorted Array - Leetcode #26
Day 122 - Tuesday, October 4th - 2 Pointers Search Pattern
- Remove Duplicates From Sorted Array - Leetcode #26
- Time: O(N) - Space: O(1)
- Squaring a Sorted Array - Educative - 2 Pointers
- Time: O(N) - Space: O(N)
- Squares of a Sorted Array - Array - LC #977 - 2 Pointers
Day 123 - Wednesday, October 5th - 2 Pointers Search Pattern
- Triple Sum to Zero - Educative - 2 Pointers + For Loop Ptr
- 3Sum - Array - LC #15 - Medium - 2 Pointers + For Loop Ptr
- Triplet Sum Close To Target - Educative - 2 Pointers
- 3Sum Closest - Array - LC #16 - 2 Pointers
- Time: O(n*log n) Space: O(N) FOR THE ENTIRE STUDY SESSION
Day 124 - Thursday, October 6th, 2 Pointers Search Pattern
- Triplets With Smaller Sum - Educative - 2 Pointers
- Time: O(n * logn) Space: O(N)
- Subarray with Product Less Than Target - Educative - 2 Pointers
- Subarray Product Less Than K - Leetcode #713 - 2 Pointers
Day 125 - Friday, October 7th, 2 Pointers Search Pattern
- Sort Colors - Array - LC #75 - 2 Pointers
- Time: O(N) Space: O(N)
- Dutch National Flag - Educative - 2 Pointers
- Time: O(N) Space: O(N)
- Quadruple Sum to Target
- Time: O(n logn) Space: O(N)
- 4Sum - Leetcode #18 - 2 Pointers
- Time: O(N)
Day 126 - Saturday, October 8th, 2 Pointers Search Pattern
- Backspace String Compare - String - LC #844 - 2 Pointers
- Time: O(M + N) Space: O(1)
- Comparing Strings Containing Backspaces - String - 2 Pointers
- Time: O(M + N) Space: O(1)
Day 127 - Sunday, October 9th, 2 Pointers Search Pattern
- Shortest Unsorted Continuous Subarray - Leetcode #581 - 2 Pointers
- Minimum Window Sort - Educative - 2 Pointers
- Time: O(N) and Space: O(1)
Day 128 - Monday, October 10th - Pattern: BFS
- Binary Tree Level Order Reversal
- Reverse Level Order Traversal
- Zigzag Traversal - Educative
- Binary Tree Zigzag Level Order Traversal - Leetcode # 103
- Level Averages in A Binary Tree - Educative
- Minimum Depth of Binary Tree - Leetcode #111
- Minimum Depth of Binary Tree - Educative
- Time: O(N) Space: O(N)
Day 129 - Tuesday, October 11th - Pattern: BFS
- Minimum Depth of Binary Tree - Educative
- Level Order Successor - Educative
- Binary Tree Right Side View - Educative
- Binary Tree Right Side View - Leecode #199
- Time: O(N) Space: O(N)
Day 130 - Wednesday, October 12th - Pattern: BFS
- Populating Next Right Pointers in Each Node II - Leetcode #117
- Connect Level Order Siblings - Educative - BFS
- Connect All Level Order Siblings - Educative - BFS
- BREADTH FIRST SEARCH DONE!!!
- Same Tree - Leetcode #100 - BFS
- Time: O(N) Space: O(N)
Day 131 - Thursday, October 13th - MENTAL HEALTH DAY
Day 132 - Friday, October 14th
- Best Time to Buy and Sell Stock - LC # 121
- Matrix Reading
Day 133 - Saturday, October 15th - Matrix
- Create a Matrix
- Update A Matrix
- Transpose a Matrix
- Search For Target In Matrix
- Search a 2D Matrix - LC #75 - Medium
- Brute Force Time: O(M*N)
- Optimized - Consider Binary Search
Day 134 - Sunday, October 16th
- 1st Half - Rest Day
- 2nd Half - Personal Project
Day 135 - Monday, October 17th - Matrix
- Search a 2D Matrix - LC #75 - Medium
- Brute Force Time: O(M*N)
- Optimized
- Search a 2D Matrix II - LC #240 - Medium
- Optimized: O(N)
- Set Matrix Zeroes
- Brute Force: Time: O(N^2) / Space: O(M * N)
Day 136 - Tuesday, October 18th - Develop New Study Strategy
- Refining my study strategy to ensure interview success.
- Welcome To The Coding Interview - You Suck
Day 137 - Wednesday, October 19th - Merging Intervals
- Coding Interview Tidbit: How To Draw The Stack Trace
- Merge Intervals - Arrays - LC #56
- Overlapping Intervals - GTCI
- Insert Interval -- LC # 57
- Time Complexity: O(n log n) - Log Linear If Using Sort
- Time COmplexity: O(n) - Linear if no sort needed
- Space: O(N)
Day 138 - Thursday, October 20th - Very Busy Day/Week
- Mock Interview - 2D-Array/Matrix Question
- Didn't Solve
- Intervals Intersection - Merging Intervals
- [Redacted]
Day 139 - Friday, October 21st
- [Redacted]
Day 140 - Saturday, October 22nd
- [ Redacted ]
- Intervals Intersection - Merging Intervals
- Conflicting Appointments - Merging Intervals
- Time: O(n * log n) Space: O(n)
Day 141 - Sunday, October 23rd
- Zero to One - Book - Read A Few Sections A Day
- React FE Overview
- Minimum Meeting Rooms - Educative - Merging Intervals
- Time: O(n log n) Space: O(n)
Day 142 - Monday, October 24th
- Back to Django Side Project
- Minimum Meeting Rooms
- Had to finally look at solution. It uses heaps, which i've never looked at.
Day 143 - Tuesday, October 25th - Cyclic Sort
- Cyclic Sort - Grokking The Coding Interview
- Time: O(N) - Linear Space: O(1) - Constant
- Key: If for loop pointer idx val is not == to the idx of j, swap the two pointer values
Day 144 - Wednesday, October 26th - Cyclic Sort
- Django Project
- Class Based Views
- Pagination
- Forms In Django
- Send Emails
- Cyclic Sort Base Pattern Review
- Missing Number - GTCI - Cyclic Sort
- Time: O(N) Space: O(1)
- Missing Number - Leetcode #268 - Cyclic Sort
- Had issues with edge cases of len(0), 1 and 2 arrays
Day 145 - Thursday, October 27th - Cyclic Sort
- All Missing Numbers - GTCI - Cyclic Sort
- All Missing Numbers LeetCode #448
Day 146 - Friday, October 28th - Cyclic Sort
- First 3 chapters of A Common Sense Guid to Data Structures and Algorithms
- Arrays and Ordered Arrays
- Reading, Searching, Insertion, Deletion
- Time Complexity
- Linear Search
- Binary Search
- Big O Notation
- All Missing Numbers - GTCI - Cyclic Sort
- All Missing Numbers LeetCode #448
- Find The Duplicate Number - GTCI - Cyclic Sort
- Find The Duplicate Number - Leetcode #287 - Cyclic Sort
Day 147 - Saturday, October 29th - Cyclic Sort
- Random Leetcode Problem
- Chapter 4 of "Common Sense Guide To Data Structures & Algorithms'
- Cyclic Sort - GTCI
Day 148 - Sunday, October 30th - Cyclic Sort
- Mock Interview via BBM
- Prompt: You're given an array of titles and a query term. Return the titles that match the query.
- Django 4 By Example - Chapter 3
- Cyclic Sort - GTCI - Challenge # 2
Day 149 - Monday, October 31st - Cyclic Sort
- Mock Interview
Day 150 - Tuesday, November 1st - Cyclic Sort
- Find The Smallest Missing Positive Number - GTCI
- First Missing Positive - Leetcode #41
Day 151 - Wednesday, November 2nd - Cyclic Sort
- Cyclic Sort Is COMPLETE
Day 152 - Thursday, November 3rd - Top K Elements
- 1 Random Leetcode Problem
- Create Target Array in the Given Order LC #1389
- Time: O(N) / Space: O(N)
- Strategy: For Loop and Use of Insert On An Array
- Find Top K Elements
Day 153 - Friday, November 4th - Top K Elements
- Invite User, Confirm Signup and Login User Manual API Implementation
- AWS Cognito, JavaScript, React
- 1 Random Leetcode Problem
-
- Find The Highest Altitude - Array
- Time: O(N) - Linear & Space: O(1) - Constant
- Time Taken To Solve: 47 Mins
-
Day 154 - Saturday, November 5th - Sliding Window
- Reviewing Sliding Window through this weekend
Day 155 - Sunday, November 6th - Sliding Window
- Grokking the Coding Interview has a new course out, that has updated from the original. Started this one last night by reviewing the Sliding Window and, it seems to be quite different from the original course, in a positive way. Many more questions and much more comprehensive.
Day 156 - Monday, November 7th - Sliding Window
- Minimum Window Subsequence - Grokking The Coding Interview - Sliding Window #2
- Step By Step Walk Through
- My Attempt
- Actual Solution
Day 157 - Tuesday, November 8th - Sliding Window
Day 159 - Wednesday
Day 159 - Thursday
Day 160 - Day 162 Friday - Sunday
- Mental break was needed. Take care of yourself. Burnout is real. Know when to take a breather. The jobs will be there.
Day 163 - Monday, November 14th - Sliding Window
- Smallest Window Substring - GTCI - Sliding Window - Hard
- Time: O(n + m) / Space: O(n + m)
- n = String 1, m = String 2
- Smallest Window Substring - #76 Leetcode - Sliding Window - Hard
Day 164 - Tuesday, November 15th - Sliding Window
- Longest Substring Without Repeating Characters - Didn't Solve - GTCI
- Exercism.io Python Boolean Exercise
- Exercism.io JavaScript Exercise
Day 165 - Wednesday, November 16th - Sliding Window
- [REDACTED]
Day 166 - Thursday, November 17th - Sliding Window
- Longest Substring Without Repeating Characters - Sliding Window - GTCI
- Time: O(N) - Linear Space: O(1) Constant
- Took 1.5 hrs to solve
Day 167 - Friday, November 17th - Sliding Window
Day 168 - Saturday, November 18th
- Personal Project - Building Out A Scraper Utilizing OOP Design Pattern
Day 169 - Sunday, November 19th
- Python Object Oriented Programming
Day 170 - Monday, November 21st - Sliding Window
- GTCI - Minimum Subarray Size Equals Sum - GTCI - Sliding Window Technique
- Leetcode # 2019 - Minimum Subarray Size Equals Sum - Sliding WIndow
- Python Object-Oriented Programming
- Personal Project
Day 171 - Tuesday, November 22st - Sliding Window & Two Pointers
- GTCI - Best Time to Buy and Sell a Stock - GTCI - Sliding Window
- Best Time to Buy and Sell Stock - Array - LC #121 - Sliding Window - Issues with random edge cases
- GTCI - Valid Palindrome - Two Pointers
- Valid Palindrome - String - LC # 125 - More Edge Case Issues
Day 172 - Monday, December 5th - Review Day
- Back from vacation that included absolutely no programming outside of a little reading. To get back in the groove of things, I simply picked 2 leet code problems to work on for 2 hours. The first one, I was able to solve in 45 Minutes. It was a medium and I haven't done anything lately, so that was a win. The question: Container with the largest volume. The second problem, Maximum Subarray, I haven't ever been able to solve due to "Time Limit Exceeded". Same thing tonight and I stopped after 49 mins. One realization over my break was that at some point, I started spending too much time on a problem, being stubborn and attempting to solve it all on my own. On to my personal stuff to finish out 2022 strong!
- Python Object Oriented Programming
- Chapter 1 & 2:Pages 30-58
Day 173 - Tuesday, December 6th - Two Pointers
- Reverse Words In A String - GTCI - Medium - Not Finished (2 Hours)
- Python OOP
Day 174 - Wednesday, December 7th - Two Pointers
- Reverse Words In A String - GTCI - Medium - FINISHED
- Reverse Words In A String - Leetcode #151 - Medium
- Year in Review
Day 175 - Thursday, December 8th - Two Pointers
- Valid Palindrome II- GTCI - Easy - Last Problem of 2 Pointer Module
- Had issues solving this problem and decided to just rest on DS&A for the night
- Personal Project for the rest of the night
Day 176 - Friday, December 9th - Two Pointers & Fast/Slow Pointer
- Valid Palindrome II- GTCI - Easy
- Burnout is real and a fresh brain works. Solved!
- Personal Projects until 2023. Anything not completed but can be, I'll be pushing to get it done.
Day 177 - Saturday, December 10th - Personal Projects
- Personal Project
- I have a few key projects that are either incomplete or were working and are now broken. These are projects that I was actually proud of and would like to keep going, so as the year end, I've set a goal to finish as many of them as I can. My own personal projects sprint per se. The goal will be to get some written and visual content out about these projects due to the issues I experienced while building to be pretty common is searching Google or Stack Overflow. This is what I've been working on for the duration of my Saturday
Day 178 - Sunday, December 11th - Personal Projects
- Personal Project
- 2 Projects Completed This Weekend
- Bot 1: Automated Tweet Creator
- Technologies: Python, Docker, AWS, Tweepy
- Bot 2: Automated Unfollower
- Ran into issues with the rate limiting at Twitter. Started being limited after approx 175 were unfollowed. Started with 17 second intervals, but that wasn't enough time. Pushed it up to 20 secs and it helped a bit, but overall it's hard to gauge what the actual limit for the day is since there is no documentation of it. I've seen the 300 number a few times, but not sure how accurate that is.
- Bot 1: Automated Tweet Creator
- 2 Projects Completed This Weekend
Day 179 - Monday, December 12th - Personal Projects & Two Heaps Pattern
- Two Heaps Pattern
- Never worked with heaps until today, so I took it a bit slower to understand the pattern and the new data structures(priority queues), and the overall strategies. Will continue with this pattern and the Maximize Capital problem tomorrow.
Day 180 - Monday, December 19th - Update
- I've been busy this week wrapping up incomplete projects from this year....with success!! More updates on those soon.
Day 181 - Tuesday, December 20th - Update
- [Redacted]