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 139 of 377
Find the maximum repeating number in O(n) time and O(1) extra space in Python
Finding the maximum repeating number in an array with constraints of O(n) time and O(1) extra space requires a clever approach. Given an array of size n with elements in range 0 to k-1 (where k ≤ n), we can modify the original array to store frequency information. The key insight is to use the array indices as counters by adding k to the element at index A[i] % k for each element A[i]. Algorithm Steps For each element in the array, increment the value at index A[i] % k by k After processing, the element ...
Read MoreFind the maximum number of composite summands of a number in Python
Given a number N (where 1 ≤ N ≤ 10^9), we need to represent N as a sum of the maximum possible number of composite numbers. A composite number is a positive integer greater than 1 that has at least one positive divisor other than 1 and itself (like 4, 6, 8, 9, 10, etc.). For example, if N = 16, we can write it as 4 + 4 + 4 + 4 (4 summands) or 8 + 8 (2 summands). The maximum number of summands is 4. Approach We use dynamic programming with the smallest composite ...
Read MoreFind the maximum distance covered using n bikes in Python
Suppose there are n bikes and each can cover 100 km when they are fully fueled. We have to find the maximum amount of distance we can go using these n bikes. Here we can assume that all bikes are similar and a bike consumes 1 litre of fuel to cover 1 km distance. The key insight is that instead of running all bikes in parallel (which only covers 100 km), we can transfer fuel strategically. When bikes run serially and transfer fuel at optimal points, we can cover much more distance without overflowing fuel tanks. Problem Analysis ...
Read MoreFind the longest substring with k unique characters in a given string in Python
Finding the longest substring with exactly k unique characters is a classic sliding window problem. We use two pointers to maintain a window and expand or shrink it based on the number of unique characters. Problem Understanding Given a string and a number k, we need to find the longest substring that contains exactly k unique characters. For example, in "ppqprqtqtqt" with k=3, the answer is "rqtqtqt" which has length 7 and contains exactly 3 unique characters: 'r', 'q', and 't'. Algorithm Steps The solution uses a sliding window approach ? First, check if ...
Read MoreFind the longest subsequence of an array having LCM at most K in Python
Given an array of numbers and a positive integer K, we need to find the longest subsequence where the Least Common Multiple (LCM) is at most K. The function returns the LCM value, length of the subsequence, and indices of elements in the optimal subsequence. Problem Understanding For example, if we have array A = [3, 4, 5, 6] and K = 20, we need to find which combination of elements gives us the longest subsequence with LCM ≤ 20. The LCM of [3, 4, 6] is 12, which is ≤ 20, and this gives us the longest ...
Read MoreFind the longest sub-string which is prefix, suffix and also present inside the string in Python
Given a string, we need to find the longest substring that appears as a prefix, suffix, and also somewhere inside the string. This problem uses the concept of the Longest Prefix Suffix (LPS) array from the KMP algorithm. For example, in the string "languagepythonlanguageinterestinglanguage", the substring "language" appears at the beginning, end, and middle of the string. Algorithm Overview We use a two-step approach: Build the LPS (Longest Prefix Suffix) array using the KMP preprocessing algorithm Find the longest substring that satisfies our conditions using the LPS array Building the LPS Array ...
Read MoreFind the lexicographically smallest string which satisfies the given condition in Python
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 MoreFind the lexicographically largest palindromic Subsequence of a String in Python
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 MoreFind the largest rectangle of 1's with swapping of columns allowed in Python
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 MoreFind the largest Perfect Subtree in a given Binary Tree in Python
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