Identifying Edges on Shortest Paths in Directed Graphs
To determine which edges can lie on a shortest path from source S to target T in a directed graph, compute shortest distances from S to all nodes. Then, perform a reverse BFS starting from T on the transposed graph. For each dequeued node cur and its neighbor nex in the transposed graph, if Dist[nex] == Dist[cur] - weight(cur->nex) holds, th ...
Posted on Sat, 16 May 2026 15:21:00 +0000 by dustinnoe
Binary Search Algorithm Implementation and Performance Analysis in Java
Binary search operates with O(log n) time complexity on a sorted array of n elements. The algorithm repeatedly divides the search interval in half, achieving logarithmic performance.
Algorithm Fundamentals
Binary search, also known as half-interval search, is an efficient algorithm for locating a target value within a sorted sequence. It compar ...
Posted on Sat, 16 May 2026 09:08:13 +0000 by XPertMailer
Binary Tree Construction, Traversal, and Optimization Algorithms
Constructing Binary Trees from Inorder and Preorder TraversalsGiven the preorder and inorder traversal sequences of a binary tree, the tree structure can be uniquely reconstructed. The first element in the preorder sequence always represents the root of the current subtree. By locating this root value within the inorder sequence, one can partit ...
Posted on Sat, 16 May 2026 04:24:49 +0000 by Draco_03
LeetCode Problem Solutions: Sliding Window and Hash Table Techniques
Trpaping Rain Water Problem
Given an array representing elevation maps, this problem calculates how much water can be trapped between bars after raining.
vector<int> leftMax(n, 0);
vector<int> rightMax(n, 0);
if (n == 0) return 0;
leftMax[0] = height[0];
rightMax[n-1] = height[n-1];
for (int i = 1; i < n; ++i) {
leftMax[i] = ...
Posted on Fri, 15 May 2026 23:00:45 +0000 by jck
Java Solutions for Blue Bridge Cup Algorithm Challenges
Secret Code Decoding
Recover Chinese character bitmaps from byte sequences and interpret hidden messages. Each character is represented by 32 bytes arranged in 16 rows of 2 bytes. Convert byte values to binary, replacing 0s with spaces to visualize the characters.
Constraints
Max runtime: 1 second
Max memory: 128MB
<java>
public class B ...
Posted on Fri, 15 May 2026 16:06:03 +0000 by Syphon
Computing Sorted Squares of a Non-Decreasing Integer Array
Method 1: Square then Sort
This approach squares each element first and subsequently sorts the resulting array.
#include <stdio.h>
#include <stdlib.h>
int compareElements(const void* first, const void* second) {
int elemA = *((int*)first);
int elemB = *((int*)second);
if (elemA < elemB) return -1;
if (elemA > elemB) r ...
Posted on Fri, 15 May 2026 09:48:25 +0000 by prc
Locating Target Boundaries in a Sorted Array via Binary Search
Problem StatementGiven an array of integers sorted in non-decreasing order, identify the starting and ending index of a specified target value. If the target is absent from the array, return [-1, -1]. The solution must operate with a logarithmic time complexity of O(log n).Expected OutcomesFor data = [5, 7, 7, 8, 8, 10], target = 8, the output ...
Posted on Fri, 15 May 2026 09:02:31 +0000 by heavenly
Implementing and Utilizing Stack Data Structures in Java
A stack is a linear collection that restricts element access to a single endpoint, commonly referred to as the top. This constraint enforces a Last-In-First-Out (LIFO) ordering, meaning the most recently added item is always the first to be removed. The two fundamental operations are push (insertion at the top) and pop (removal from the top). A ...
Posted on Fri, 15 May 2026 01:03:14 +0000 by mrprozac
Underlying Mechanisms of Python Set Deduplication
Python sets utilize a hash table implementation to store unique elements. The deduplication mechanism operates through a two-step verification process involving the __hash__ and __eq__ methods of the stored objects. Initially, the set evaluates the hash value of the incoming object. If this hash does not exist in the current hash table, the obj ...
Posted on Thu, 14 May 2026 23:00:25 +0000 by Love_Daddy
Java Algorithm Practice: Squares of Sorted Arrays, Minimum Size Subarray Sum, and Spiral Matrix II
977. Squares of a Sorted Array
Problem Link on LeetCode
Approach: Two Pointers Technique Since the array may contain negative numbers, we use two pointers to compare the squares of the elements from both ends. The left pointer starts at the beginning of the array, and the right pointer starts at the end. The larger square is placed at the curre ...
Posted on Thu, 14 May 2026 22:08:44 +0000 by cmanhatton