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
Articles by Arnab Chakraborty
Page 129 of 377
Find Median from Data Stream in C++
Suppose we have a data stream, in that stream some data element may come and join, we have to make one system, that will help to find the median from the data. As we know that the median is the middle data of a sorted list, if it list length is odd, we can get the median directly, otherwise take middle two elements, then find the average. So there will be two methods, addNum() and findMedian(), these two methods will be used to add numbers into the stream, and find the median of all added numbersTo solve this, we will ...
Read MoreRemove Invalid Parentheses in C++
Suppose we have a string of parentheses. We have to remove minimum number of invalid parentheses and return the well formed parentheses strings, So if the input is like “()(()()”, so the result will be [“()()()”, “()(())”]To solve this, we will follow these steps −Define a method called solve(), this will take pos, left, right, l, r, string array res and string temp.if pos is same as size of s, then, if left is same as 0 and right is same as 0, then, if (m[temp] is non-zero) is false, then, insert temp at the end of resm[temp] := 1returnif ...
Read MoreBurst Balloons in C++
Suppose we have n balloons, these are indexed from 0 to n-1. Here each balloon is painted with a number on it represented by one array called nums. we have to burst all the balloons. If we burst balloon i we will get nums[i – 1] * nums[i] * nums[i + 1] number of coins. After the burst, the i – 1 and i + 1 then becomes adjacent. We have to find the maximum coins to collect by bursting the balloons wisely.So if the input is like [3, 1, 5, 7], then the result will be 148. Initially the ...
Read MoreCount of Smaller Numbers After Self in C++
Suppose we have an array nums, we have to find another array called count, in this count array, the count[i] stores the number of smaller elements to the right of nums[i].So if the input is like: [5, 2, 7, 1], then the result will be [2, 1, 1, 0].To solve this, we will follow these steps −Define one method called update(), this will take index, array bit and nwhile index 0, do −ans = ans + bit[index]index = index – (index AND - index)return ansFrom the main method, do the following −n := size of numsDefine an array res ...
Read MoreRemove Duplicate Letters in C++
Suppose we have a string consisting of only lowercase letters. We have to remove all duplicate letters such that all letters only occur once. And we have to display the result in the smallest lexicographic sequence. So if the input is like “abccb”, then the result will be “abc”To solve this, we will follow these steps −ans := one empty stringDefine one stack stDefine an array onStack of size 26Define one map mn := size of sfor initializing i := 0, when i < n, increase i by 1 do −increase m[s[i]] by 1for initializing i := 0, when i ...
Read MorePatching Array in C++
Suppose we have an array nums and one number. We can add elements in the array, such that any number in range [1, n] (both are inclusive) can be formed by the sum of some elements in the array. We have to find the minimum number of required patches. So when the array is like [1, 4] and given number is n = 7, then output will be 1, as initially the nums are [1], [4] and [1, 4] = 5, now if we add 2 into array, then the nums will be [1], [2], [4], [1, 2], [1, 4], ...
Read MoreSelf Crossing in C++
Suppose we have an array x of n numbers. We start at point (0, 0) and moves x[0] units to the north direction, then x[1] units to the west direction, x[2] units to the south direction , x[3] units to the east direction and so on. In other words, after each move our direction changes counter-clockwise. We have to devise an one-pass algorithm with O(1) extra space to determine whether our path crosses itself, or not.So if the array is like − [3, 4, 2, 5]Answer will be true.To solve this, we will follow these steps −insert 0 at the ...
Read MoreData Stream as Disjoint Intervals in C++
Suppose we have a data stream input of integers, these are like a1, a2, ..., an, ..., we have to summarize the numbers seen so far as a list of disjoint intervals. For example, suppose the input integers are 1, 3, 8, 2, 7, ..., then the summary will be −[1, 1][1, 1], [3, 3][1, 1], [3, 3], [8, 8][1, 3], [8, 8][1, 3], [7, 8].To solve this, we will follow these steps −Make a set called numsin the initializer, set low := -inf and high := infFrom the addNum method that takes num as input, insert num into the ...
Read MoreCreate Maximum Number in C++
Suppose we have two arrays of length m and n with digits 0-9 representing two numbers. We have to create the maximum number of length k that is less than m + n from digits of the two. We have to keep in mind that the relative order of the digits from the same array must be preserved. We have to find the array of the k digits. So if the inputs are like [3, 4, 7, 5] and [9, 1, 3, 5, 8, 4], and k = 5, then the answer will be [9, 8, 7, 5, 4].To solve ...
Read MoreCount of Range Sum in C++
Suppose we have an integer array nums, we have to find the number of range sums that lie in range [lower, upper] both inclusive. The range sum S(i, j) is defined as the sum of the elements in nums from index i to index j where i ≤ j.So if the input is like [-3, 6, -1], lower = -2 and upper = 2, then the result will be 2, as the ranges are [0, 2], the sum is 2, [2, 2], sum is -2.To solve this, we will follow these steps −Define a function mergeIt(), this will take array ...
Read More