Notebook
94 posts ported from apps/blog: 21 long-form entries plus 73 blind75 leetcode notes. Markdown rendered client-side via react-markdown + remark-gfm.
94 of 94 matching
How to Prepare for a Coding Interview
Tips and steps to help you prepare effectively for a coding interview
Blind 75 LeetCode Questions
A curated list of 75 LeetCode questions categorized by difficulty and type, ideal for honing problem-solving skills for coding interviews.
TypeScript links and resources
Useful links for TypeScript and React development
Useful links
Useful links for web design and development
Solving Binary Tree Maximum Path Sum: Finding the Highest Valued Path
Discovering the path in a binary tree that yields the maximum sum of values, traversing any part of the tree.
Solving Merge k Sorted Lists: Combining Multiple Sorted Lists
Exploring an efficient method to merge multiple sorted linked lists into a single sorted linked list.
Solving Find Median from Data Stream: Continuous Median Calculation
Developing a data structure that efficiently calculates the median of a stream of numbers in real-time.
Solving Top K Frequent Elements: Identifying Most Common Items
Developing an approach to find the k most frequent elements in an array.
Solving Word Search II: Finding Words on a Board
Exploring the solution to find all words from a given list that can be formed by traversing a grid of letters.
Solving Implement Trie (Prefix Tree): Building a Searchable Data Structure
Explaining how to implement a Trie (Prefix Tree) for efficient search, insertion, and prefix operations in a set of strings.
Solving Design Add and Search Words Data Structure: Implementing an Advanced Trie
Creating a data structure to add words and perform search operations, including searches with wildcards.
Solving Lowest Common Ancestor of a Binary Search Tree: Finding a Common Node
Exploring the approach to find the lowest common ancestor of two nodes in a Binary Search Tree (BST).
Solving Construct Binary Tree from Preorder and Inorder Traversal
Detailing a method to construct a binary tree given preorder and inorder traversal sequences.
Solving Kth Smallest Element in a BST: Navigating Tree Order
Exploring a technique to find the kth smallest element in a Binary Search Tree (BST) by leveraging its inorder traversal properties.
Solving Serialize and Deserialize Binary Tree: Encoding and Reconstructing Trees
Detailing methods to serialize a binary tree into a string and deserialize the string back into the original tree structure.
Meet Abrikos: The Joyful Companion
A heartwarming introduction to Abrikos, a dog with a charming personality and the ability to brighten anyone's day.
Solving Validate Binary Search Tree: Ensuring Proper Order
Determining if a binary tree is a valid binary search tree (BST), which requires that all nodes follow the BST property.
Solving Subtree of Another Tree: Comparing Tree Structures
Exploring a solution to determine if one binary tree is a subtree of another binary tree.
Solving Binary Tree Level Order Traversal: Navigating Trees by Level
Detailing a solution for traversing a binary tree level by level, and returning the nodes at each level in a separate list.
Solving Invert Binary Tree: Flipping a Binary Tree
Exploring the solution to invert a binary tree, effectively flipping it around its center.
Group Anagrams: Categorizing Words by Character Composition
Solving the Group Anagrams problem by categorizing a list of strings into groups where each group consists of words that are anagrams of each other.
Longest Palindromic Substring: Identifying Maximum Symmetry
Solving the Longest Palindromic Substring problem by finding the longest stretch of characters in a string that reads the same forward and backward.
Longest Repeating Character Replacement: Maximizing Repeating Sequences
Exploring the solution to find the longest repeating character sequence in a string by replacing a limited number of characters.
Solving Maximum Depth of Binary Tree: Finding the Longest Path
Exploring a solution to determine the maximum depth (or height) of a binary tree, which is the length of the longest path from the root down to the farthest leaf node.
Minimum Window Substring: Finding the Smallest Containing Segment
Solving the Minimum Window Substring problem to find the smallest substring in a given string that contains all the characters of another string.
Solving Palindromic Substrings: Counting Symmetrical Sequences
Exploring the solution to count all the palindromic substrings within a given string.
Solving Same Tree: Comparing Binary Tree Structures
Approaching the Same Tree problem to determine if two binary trees are structurally identical and have the same node values.
Valid Anagram: Checking Character Arrangements
Solving the Valid Anagram problem to determine if two strings are anagrams, meaning they contain the same characters in a different order.
Valid Palindrome: Checking Symmetry in Strings
Exploring the solution to determine if a given string is a palindrome, meaning it reads the same forward and backward.
Valid Parentheses: Ensuring Correct Closure and Nesting
Solving the Valid Parentheses problem by checking if a string containing various types of brackets is properly closed and nested.
Longest Substring Without Repeating Characters: A String Traversal Challenge
Exploring the solution to find the length of the longest substring without repeating characters in a given string.
Rotate Image: 90-Degree Clockwise Transformation
Exploring the solution to rotate a matrix by 90 degrees clockwise, rearranging the elements to transform the image effectively.
Spiral Matrix: Traversing 2D Arrays in a Spiral Pattern
Exploring the solution to traverse a 2D matrix in a spiral order, covering all elements in a clockwise spiral from the outer layer to the inner.
Word Search: Traversing a Letter Grid to Form Words
Solving the Word Search problem by finding a path through a grid of letters to form a specific word, either horizontally or vertically.
Insert Interval: Merging Intervals in Arrays
Solving the Insert Interval problem by merging intervals and inserting a new interval into a list of non-overlapping intervals, sorted by their start times.
Merge Intervals: Simplifying Overlapping Ranges
Solving the Merge Intervals problem using sorting and merging techniques to combine overlapping intervals into a minimal set of non-overlapping intervals.
Merge Two Sorted Lists: Combining Linked Lists in Order
Solving the Merge Two Sorted Lists problem by merging two sorted singly linked lists into a single, sorted linked list.
Non-overlapping Intervals: Optimizing Interval Arrangement
Solving the Non-overlapping Intervals problem by determining the minimum number of intervals to remove to make the rest of the intervals non-overlapping.
Remove Nth Node From End of List: Manipulating Linked Lists
Solving the Remove Nth Node From End of List problem by efficiently identifying and removing a specific node from a singly linked list.
Reorder List: Rearranging Nodes in a Linked List
Exploring the solution to the Reorder List problem, which involves reordering the nodes of a linked list by alternating the front and back nodes.
Reverse Linked List: Inverting Node Connections
Solving the Reverse Linked List problem by inverting the connections between nodes in a singly linked list, transforming the head into the tail and vice versa.
Number of Islands: Exploring Grid-Based Graph Algorithms
Solving the Number of Islands problem using depth-first search to count the number of distinct islands in a grid.
Course Schedule: Navigating Dependencies with Graph Theory
Solving the Course Schedule problem by applying graph theory to determine if it is possible to finish all courses given the prerequisites.
Pacific Atlantic Water Flow: Exploring Water Movement in a Matrix
Solving the Pacific Atlantic Water Flow problem using depth-first search to find matrix cells where water can flow to both the Pacific and Atlantic oceans.
Clone Graph: A Deep Copy Challenge
Understanding and solving the Clone Graph problem using depth-first search to create a deep copy of a graph.
Combination Sum IV: A Dynamic Programming Solution
Understanding the Combination Sum IV problem and solving it using dynamic programming to find the total number of possible combinations that add up to a target number.
Decode Ways: Unraveling Encoded Messages with Dynamic Programming
Solving the Decode Ways problem using dynamic programming to find the number of ways a string of digits can be decoded into alphabets.
House Robber II: Dynamic Programming with a Twist
Solving the House Robber II problem, where houses are arranged in a circle, using dynamic programming to maximize the stolen amount without alerting the police.
House Robber: A Dynamic Programming Solution
Exploring the House Robber problem to find the maximum amount of money that can be robbed without alerting the police, using dynamic programming.
Jump Game: Mastering Dynamic Programming for Pathfinding
A guide to solving the Jump Game problem using dynamic programming, determining if it's possible to reach the end of an array from the start by jumping between elements.
Longest Common Subsequence: A Dynamic Programming Solution
Exploring the solution to the Longest Common Subsequence problem, a classic in dynamic programming, to find the longest sequence of characters that appear in the same order in two strings.
Unique Paths: A Dynamic Programming Approach
Exploring the Unique Paths problem to find the number of different ways to reach the bottom-right corner of a grid, starting from the top-left corner, using dynamic programming.
Word Break Problem: A Dynamic Programming Approach
A detailed guide on solving the Word Break problem using dynamic programming to determine if a string can be segmented into a space-separated sequence of dictionary words.
Longest Increasing Subsequence: A Dynamic Programming Challenge
Exploring the solution to find the length of the longest increasing subsequence in an array using dynamic programming.
Climbing Stairs: A Dynamic Programming Approach
Understanding the Climbing Stairs problem and solving it using dynamic programming in JavaScript.
Coin Change Problem: A Dynamic Programming Approach
Exploring the solution to the Coin Change problem using dynamic programming, to find the minimum number of coins for a given amount.
Counting Bits: A Bit Manipulation Challenge
Exploring an efficient dynamic programming solution to count the number of 1s in the binary representation of each number up to a given integer.
Finding the Missing Number in a Sequence
An exploration of mathematical and bit manipulation techniques to solve the Missing Number problem in an array sequence.
Reversing Bits of an Integer
A detailed explanation of how to reverse the bits of a 32-bit unsigned integer using bitwise operations in JavaScript.
Number of 1 Bits (Hamming Weight)
A guide to counting the number of 1 bits (set bits) in a binary representation of a number, commonly known as calculating the Hamming weight.
Sum of Two Integers Without Using Plus or Minus
An explanation of solving the Sum of Two Integers problem using bit manipulation techniques in JavaScript.
Solving the 3Sum Problem
A detailed guide on solving the 3Sum problem using sorting and the two-pointer technique in JavaScript.
Solving the Container With Most Water Problem
A comprehensive explanation of the two-pointer technique to solve the Container With Most Water problem efficiently.
Find Minimum in Rotated Sorted Array
Exploring the efficient solution to find the minimum element in a rotated sorted array using a modified binary search algorithm.
Understanding the Maximum Product Subarray Problem
A guide to solving the Maximum Product Subarray problem using dynamic programming, highlighting its unique challenges and solutions.
Maximum Subarray Problem Solutions
Detailed explanation and implementation of the Maximum Subarray problem using dynamic programming and divide and conquer approaches.
Product of Array Except Self
An efficient solution to find the product of all elements of an array except the one at each index.
Solving the Search in Rotated Sorted Array Problem
A step-by-step guide to understanding and solving the Search in Rotated Sorted Array problem, a complex variation of binary search.
Solving the 'Best Time to Buy and Sell Stock' Problem
An in-depth guide to understanding and solving the 'Best Time to Buy and Sell Stock' problem in JavaScript, a popular interview question.
Solving the 'Contains Duplicate' Problem in JavaScript
A straightforward guide to efficiently solving the 'Contains Duplicate' problem in JavaScript, a common task in coding interviews.
Linked List Cycle: Detecting Loops in Data Structures
Exploring the solution for detecting a cycle in a singly linked list, a common challenge in data structure manipulation.
Set Matrix Zeroes: Efficient In-Place Modification
Solving the Set Matrix Zeroes problem by modifying a matrix in-place to set entire rows and columns to zero where any element is zero.
Solving the Two Sum Problem
A comprehensive guide to understanding and implementing a solution to the Two Sum problem in JavaScript
Blind 75 LeetCode Questions
A curated list of 75 LeetCode questions categorized by difficulty and type, ideal for honing problem-solving skills for coding interviews.
Why your website's fonts might be larger than intended
A well-meaning mobile browser feature can be problematic
Nintype is still the best iOS keyboard
Building a blog with Next.js 14 and React Server Components
Use MDX, RSC, and Bright to build a blog with Next.js 14.
Building a blog with Next.js 14 and React Server Components
Use MDX, RSC, and Bright to build a blog with Next.js 14.
Longest Consecutive Sequence: A Set-Based Approach
Solving the Longest Consecutive Sequence problem using sets to efficiently find the length of the longest consecutive elements sequence in an array.
The Node ecosystem (still) has tooling problems
It shouldn't take this much work to publish a small library
Internet Explorer or CSS3?
A quick quiz I created to explore Supabase
Easy ways to improve your websites accessibility and performance
A list of simple tips for developing a more accessible and user-friendly web.
How hackers* run their sites
An analysis based on 700 personal websites
How to start contributing to open-source projects
A small guide to finding projects and contributing changes
How to start contributing to open-source projects
A small guide to finding projects and contributing changes
Pin your npm/yarn dependencies
A guide on how to pin your dependencies and why you may want to
My macOS programs and setup
useMousetrap()
A quick TypeScript React hook for Mousetrap.js
Creeper Host API wrapper in TypeScript
In case someone also wants a quick wrapper for interacting with the Creeper Host REST API
Creeper Host API wrapper in TypeScript
In case someone also wants a quick wrapper for interacting with the Creeper Host REST API
run-pr.sh
A quick script I use for checking out and running pull requests
Impressions of the Framework Laptop
My thoughts on the Framework Laptop's hardware
Adding ambient light support to Linux and GNOME
A quick dive into Linux kernel drivers
X11 on iOS
A guide on how to compile the X Window System for iOS