LeetCode 54: Spiral Matrix and 445: Add Two Numbers II

LeetCode 54: Spiral Matrix Problem Given an m x n matrix, return all elements of the matrix in spiral order. Example 1 Input: matrix = [[1,2,3],[4,5,6],[7,8,9]] Output: [1,2,3,6,9,8,7,4,5] Example 2 Input: matrix = [[1,2,3,4],[5,6,7,8],[9,10,11,12]] Output: [1,2,3,4,8,12,11,10,9,5,6,7] Approach Traverse from left to right along the top r ...

Posted on Sun, 14 Jun 2026 16:12:36 +0000 by thebusinesslad

Minimum Adjacent Swaps to Balance Bracket Sequences

A bracket string of even length consists of exactly n/2 opening [ and n/2 closing ] characters. The goal is to determine fewest number of arbitrary index swaps required to transform the string into a valid bracket sequence (one where every closing bracket has a matching opening bracket earlier in the string). Pairs of matched brackets can be t ...

Posted on Fri, 12 Jun 2026 18:11:11 +0000 by razorsedgeuk

Mastering Two-Pointer Patterns for Algorithmic Problems

283. Move Zeroes The objective is to reorganize an array such that all non-zero elements are positioned before any zeros. This operation must be performed in-place without allocating additional space for another array. Instead of using a secondary buffer, we can utilize a tracking pointer to mark the position where the next non-zero element sho ...

Posted on Thu, 11 Jun 2026 17:56:17 +0000 by coldfused

Minimum Money for Guaranteed Win in Guessing Game

Problem Description We're playing a number guessing game with the following rules: I pick a number between 1 and n. You guess which number I picked. Each time you guess wrong, I tell you whether my number is higher or lower. When you guess a number x and it's wrong, you pay $x. You win when you guess the correct number. Given n ≥ 1, determine ...

Posted on Tue, 09 Jun 2026 16:59:45 +0000 by void

Binary Search Techniques and Applications

This week's practice focuses on mastering binary search algorithms through LeetCode problems. The first problem is Binary Search. Below is the implementation: int search(int* nums, int numsSize, int target) { int left = 0; int right = numsSize - 1; while (left <= right) { int mid = left + (right - left) / 2; if ( ...

Posted on Mon, 08 Jun 2026 18:45:49 +0000 by canabatz

Understanding and Implementing Stacks for Algorithmic Problem Solving

Stack Fundamentals A stack is a linear data structure that adheres to the Last-In, First-Out (LIFO) principle. This means the last element added to the stack is the first one to be removed. Operations on a stack are restricted to a single end, known as the top. The other end is called the bottom. Think of a stack like a stack of plates. You ...

Posted on Sat, 06 Jun 2026 17:34:57 +0000 by Tobeon

Minimizing Camera Placement on a Binary Tree Using Greedy DFS

Given a binary tree, we need to install cameras on its nodes. Each camera can monitor its parent, itself, and its immediate children. The goal is to determine the minimum number of cameras reuqired to cover the entire tree. Problem Constraints Number of nodes ranges from 1 to 1000. Node values are irrelevant (typically 0). Core Strategy The o ...

Posted on Fri, 05 Jun 2026 17:26:40 +0000 by buroy

Comprehensive Guide to Dynamic Programming Patterns and Implementations

Minimum Path Sum in a Grid Finding the minimum path sum from the top-left to the bottom-right of a grid is a classic dynamic programming problem. To optimize space complexity, we can use a 1D array instead of a 2D matrix to store the DP states, updating the array iteratively as we traverse each row. #include <vector> #include <algorith ...

Posted on Thu, 04 Jun 2026 17:28:26 +0000 by m4tt

Calculating Capital Gains and Losses from Stock Transactions

The Stocks table schema is defined as follows: Column Name Type stock_name varchar operation enum operation_day int price int The primary key for this table is the combination of stock_name and operation_day. The operation column is an enumeration containing ('Buy', 'Sell'). Each row represents a transaction made on a specific s ...

Posted on Tue, 02 Jun 2026 18:08:55 +0000 by hush2

Maximum Sum Divisible by Three

Given an integer array nums, find and return the maximum sum of elements that is divisible by three. Examples Example 1: Input: nums = [3,6,5,1,8] Output: 18 Explanation: Choose numbers 3, 6, 1, and 8. Their sum is 18 (the maximum sum divisible by three). Example 2: Input: nums = [4] Output: 0 Explanation: 4 is not divisible by 3, so no number ...

Posted on Tue, 02 Jun 2026 17:22:57 +0000 by JamesThePanda