import java.util.Stack; public class ITP { // Return precedence of operator static int precedence(char ch) { return switch (ch) { […]
Category: BE
Status Changing Recursion
public class StatusChangingRecursion { static StringBuilder output = new StringBuilder(); public static void main(String[] args) { int x = 4; […]
Pure Inorder Recursion
public class PureInorderRecursion { static StringBuilder output = new StringBuilder(); public static void main(String[] args) { int n = 4; […]
Fibonacci
public class Fibonacci { private static final String INDENT = ” “; static void printIndent(int depth) { for (int i […]
Recursion Without Loop
public class RecursionWithoutLoop { static int stepCounter = 1; // Shared counter to label each step // Method A: Top-down […]
linked list queue
// This queue implementation uses a linked list and can dynamically grow and shrink as needed. public class LinkedListQueue { […]
circular array queue
// Circular Array queue implementation using a linear array public class CircularArrayQueue { // Array-based fields final int[] arr; // […]
simple array queue
// Simple Array queue implementation using a linear array public class SimpleArrayQueue { final int[] arr; // Queue storage array […]
Rain Water Trap
# Dynamic Plan public class RainWaterTrap { public static int trap(int[] height) { if (height == null || height.length < […]
Trapping Rain Water
# Double Pointers public class TrappingRainWater { public static int trap(int[] height) { if (height == null || height.length == […]