Article Categories
- All Categories
-
Data Structure
-
Networking
-
RDBMS
-
Operating System
-
Java
-
MS Excel
-
iOS
-
HTML
-
CSS
-
Android
-
Python
-
C Programming
-
C++
-
C#
-
MongoDB
-
MySQL
-
Javascript
-
PHP
-
Economics & Finance
Articles by Arnab Chakraborty
Page 156 of 377
Construct Binary Tree from Inorder and Postorder Traversal in Python
Building a binary tree from its inorder and postorder traversal sequences is a classic tree construction problem. The key insight is that the postorder traversal gives us the root node (last element), while the inorder traversal helps us identify left and right subtrees. 3 9 20 15 7 ...
Read MoreConstruct Binary Tree from Preorder and Inorder Traversal in Python
Constructing a binary tree from preorder and inorder traversal sequences is a classic problem in tree algorithms. The key insight is that the preorder traversal gives us the root nodes in order, while the inorder traversal helps us determine the left and right subtrees. 3 9 20 15 7 ...
Read MoreSubsets in Python
Generating all possible subsets of a given set is a fundamental problem in computer science, also known as finding the power set. For a set like [1, 2, 3], the power set contains all combinations: [[], [1], [2], [3], [1, 2], [1, 3], [2, 3], [1, 2, 3]]. We can solve this using a recursive backtracking approach where each element can either be included or excluded from a subset. Recursive Backtracking Approach The algorithm works by making binary choices for each element − include it (1) or exclude it (0) from the current subset. Algorithm Steps ...
Read MoreSet Matrix Zeroes in Python
The Set Matrix Zeroes problem requires us to modify a matrix in-place such that if any element is 0, its entire row and column become 0. This is a classic matrix manipulation problem that can be solved efficiently using constant extra space. Problem Understanding Given a matrix, if an element is 0, we need to set the entire row and column containing that element to 0. For example ? 1 0 1 1 1 1 1 1 1 The output becomes ? ...
Read MoreSimplify Path in Python
In Unix-style file systems, we often need to simplify absolute file paths to their canonical form. A canonical path is the shortest string representing the absolute path, following specific rules for directory navigation. Canonical Path Rules Path must always begin with a slash / There must be only a single slash / between two directory names Last directory name (if it exists) must not end with a trailing / Single period . refers to the current directory Double period .. moves up one level to the parent directory For example, "/home/", "/../" and "/home//user/" should ...
Read MoreSpiral Matrix II in Python
The Spiral Matrix II problem involves generating a square matrix filled with numbers from 1 to n² in spiral order. Starting from the top-left corner, we fill the matrix by moving right, down, left, and up in a spiral pattern until all positions are filled. Algorithm The spiral filling process follows these steps: Initialize boundary variables: row1, col1 (top-left) and row2, col2 (bottom-right) Create an n×n matrix filled with zeros Fill the matrix in four directions: right → down → left → up After completing each spiral layer, adjust the boundaries inward Continue until all n² ...
Read MoreMerge Intervals in Python
Merging intervals is a common problem where we combine overlapping intervals in a collection. For example, if we have intervals [[1, 3], [2, 6], [8, 10], [15, 18]], the result after merging overlapping intervals would be [[1, 6], [8, 10], [15, 18]] because [1, 3] and [2, 6] overlap and merge into [1, 6]. Algorithm Steps The approach uses sorting and a stack-based method ? If the interval list is empty, return an empty list Sort intervals by their start time Initialize a stack ...
Read MoreJump Game in Python
The Jump Game is a classic dynamic programming problem where we need to determine if we can reach the last index of an array. Each element represents the maximum jump length from that position. Given an array like [2, 3, 1, 1, 4], we start at index 0 and can jump at most 2 positions. From index 1, we can jump at most 3 positions, and so on. The goal is to reach the last index. Algorithm Steps The greedy approach works backwards from the last index ? n := length of array A − ...
Read MoreCombination Sum in Python
The combination sum problem involves finding all unique combinations in a given array where the numbers sum to a target value. Numbers can be reused unlimited times. For example, with candidates [2, 3, 6, 7] and target 7, the solutions are [[7], [2, 2, 3]]. Recursive Approach We'll use a recursive backtracking approach that explores all possible combinations ? class Solution: def combinationSum(self, candidates, target): result = [] self.solve(candidates, target, 0, [], result) ...
Read MoreNext Permutation in Python
The next permutation method rearranges numbers into the lexicographically next greater permutation. If no greater permutation exists, it returns the smallest possible permutation (sorted in ascending order). The solution must be in-place without using extra memory. Examples 1, 2, 3 → 1, 3, 2 3, 2, 1 → 1, 2, 3 1, 1, 5 → 1, 5, 1 Algorithm Steps The algorithm follows these key steps − Step 1: Find the largest index i where nums[i] < nums[i+1] Step 2: If no such index exists, reverse the entire array Step ...
Read More