Given an array A of n numbers where A[i] indicates the number of distinct characters in the prefix of length (i + 1) of a string s, we need to find the lexicographically smallest string that satisfies the given prefix array. All characters will be lowercase English alphabets [a-z]. If no such string exists, return -1. For example, if A = [1, 1, 2, 3, 4], the output will be "aabcd" because prefix[0] has 1 distinct character, prefix[1] has 1 distinct character, prefix[2] has 2 distinct characters, prefix[3] has 3 distinct characters, and prefix[4] has 4 distinct characters, and ... Read More
Sometimes we need to find the lexicographically largest palindromic subsequence of a string. A palindromic subsequence reads the same forwards and backwards, and the lexicographically largest one uses the highest character in the string. The key insight is that the lexicographically largest palindromic subsequence consists of all occurrences of the maximum character in the string, since identical characters always form a palindrome. So, if the input is like "tutorialspointtutorial", then the output will be "uu". Algorithm Steps To solve this, we will follow these steps − Initialize ans as empty ... Read More
Given a binary matrix, we need to find the largest rectangle of all 1's that can be formed by swapping any columns. This problem combines the classic "largest rectangle in histogram" algorithm with column optimization. Problem Understanding Consider this matrix ? 1 0 0 1 0 1 0 0 1 1 1 1 0 1 0 By swapping columns 1 and 3, we get ? 0 0 1 1 0 0 0 1 1 1 1 0 1 1 0 ... Read More
A Perfect Binary Tree is a binary tree where all internal nodes have exactly two children and all leaves are at the same level. This article explains how to find the size of the largest perfect subtree within a given binary tree using Python. 2 3 4 5 6 7 ... Read More
Given an array and a value K, we need to find which index will be the last element to reach zero after repeatedly performing a subtraction operation. In each operation, we subtract K from each non-zero element, and if any element becomes less than K, it's set to zero. Problem Understanding The operation works as follows ? Start from A[0] to A[N − 1], update each element as A[i] = A[i] − K If A[i] < K, then set A[i] = 0 Once an element becomes 0, no further operations are performed on it Repeat until ... Read More
In array processing, we sometimes need to find a special element that acts as a pivot point — an element where all elements to its left are smaller, and all elements to its right are greater. This problem requires finding such an element and returning its index, or -1 if no such element exists. Problem Understanding Given an array, we need to find an element where: All elements before it are smaller than the element All elements after it are greater than the element For the array [6, 2, 5, 4, 7, 9, 11, 8, ... Read More
In this problem, we need to calculate the total distance covered by a participant who collects stones placed at equal intervals and returns each stone to a starting bucket. The setup is as follows: A bucket is placed at the starting point The first stone is 6 units away from the bucket Each subsequent stone is 4 units apart from the previous one The participant must collect stones one by one, returning to the bucket after each collection Bucket ... Read More
Given a string S (all letters are lowercase), we need to find the count of all substrings of length four whose characters can be rearranged to form the word "bird". For example, if the input is "birdb", the output will be 2 because there are two 4-character substrings that contain exactly one 'b', one 'i', one 'r', and one 'd'. Approach To solve this problem, we follow these steps − Initialize a counter to 0 Iterate through all possible 4-character substrings For each substring, count occurrences of 'b', 'i', 'r', 'd' If each character appears ... Read More
A rectangle has four vertices, and if we know three of them, we can find the fourth by using the property that opposite vertices share the same coordinates. In a grid representation with asterisks ('*') marking three vertices, we need to find the missing fourth vertex coordinates. Problem Understanding Given a grid where exactly three asterisks ('*') represent three vertices of a rectangle, we need to find the coordinates of the fourth vertex. The key insight is that in a rectangle, each row and column should contain exactly two vertices, except for the missing vertex's row and column ... Read More
Suppose we have a string str and another string patt, we need to find the character in patt that is present at the minimum index in str. If no character from patt is present in str, then return -1. For example, if str = "helloworld" and patt = "wor", the output will be 'o' because 'o' appears at index 4, which is the smallest index among all characters from patt that exist in str. Algorithm Steps To solve this problem, we follow these steps − Initialize minimum_index to a large value ... Read More
Data Structure
Networking
RDBMS
Operating System
Java
iOS
HTML
CSS
Android
Python
C Programming
C++
C#
MongoDB
MySQL
Javascript
PHP
Economics & Finance