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