Technical Progress Tracker

 · 50 min read
 · Aaron Kyle
Last updated: August 09, 2022
Table of Contents

Get My Content Delivered To Your Inbox

    No Spam, Pinky Promise.

    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


    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

    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
    • 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


    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
        1. Find The Highest Altitude - Array
        2. Time: O(N) - Linear & Space: O(1) - Constant
        3. 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.

    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]

    Get My Content Delivered To Your Inbox

      No Spam, Pinky Promise.