Blog Posts

  • LeetCode 684. Redundant Connection (Union-Find)

    Difficulty: Medium I used 3 approaches for this problem, using DFS, union-find with sets, and union-find with an array. Depth First Search The intuition behind my DFS approach is to first create an adjacency list to traverse the graph. Then for each edge in reverse order (since we want to find the extra edge with […]

    Read More

  • LeetCode 210. Course Schedule II Solved (Topological Sort)

    Difficulty: Medium This problem is a more complete version of the Course Schedule I problem. Topological Sort is used for sorting dependencies, in this problem we have to order courses in a way which we can take them all, and so courses have prerequisites and the prerequisites have prerequisites. This takes the form of a […]

    Read More

  • LeetCode 125. Valid Palindrome Solved (Python)

    Difficulty: Easy A palindrome is a word that reads the same forward and backward.  This problem is a bit different from a normal palindrome check. A normal palindrome check problem can be solved simply by checking if the reverse of the string is the same as the string. Which in python is a simple one-liner: […]

    Read More

  • Controlling IoT devices with Alexa and Apple Home Together

    This project originally started as a way for me to control my non-smart TV and AC with Alexa which I completed and wrote about in my previous post. But my strive for perfection turned into a 3-4 month project to add the ability to use Apple’s Home app to control all the smart devices in […]

    Read More

  • Building Alexa universal IR remote, to control TV or AC with ESP8266 (Wemos D1 mini)

    (I have bolded the important details if you want to do this project and I added images, cause I find it to be helpful) This is my first main project after getting started with Arduino, which is fairly easy in theory, but allowed me to learn a lot as a beginner. But essentially, I record […]

    Read More