Programming Articles - Page 1924 of 3363

Maximum Sum of 3 Non-Overlapping Subarrays in C++

Arnab Chakraborty
Updated on 02-Jun-2020 10:31:54

227 Views

Suppose we have one array called nums of positive integers, we have to find three non-overlapping subarrays with maximum sum. Here each subarray will be of size k, and we want to maximize the sum of all 3*k entries.We have to find the result as a list of indices representing the starting position of each interval. If there are multiple answers, we will return the lexicographically smallest one.So if the input is like [1, 2, 1, 2, 6, 8, 4, 1] and k = 2, then the result will be [0, 3, 5], so subarrays are [1, 2], [2, 6], ... Read More

Redundant Connection II in C++

Arnab Chakraborty
Updated on 01-Jun-2020 12:06:06

295 Views

Suppose we have a rooted tree. This is a directed graph such that, there is exactly one node (which is the root) for which all other nodes are descendants of this node, and every node has exactly one parent, except for the root node. Root has no parents.In the given input a directed graph that started as a rooted tree with N nodes (All values are unique), with one additional directed edge added. The added edge has two different vertices chosen from 1 to N, and was not an edge that already existed.Graph will be a 2D-array of edges. Each ... Read More

Kth Smallest Number in Multiplication Table in C++

Arnab Chakraborty
Updated on 01-Jun-2020 11:58:51

401 Views

Suppose we know about one Multiplication Table. But could we find out the k-th smallest number quickly from the multiplication table? So if we have to height m and the length n of a m * n Multiplication Table, and one positive integer k, we have need to find the k-th smallest number in this table.So if m = 3 and n = 3 and k is 6, then the output will be 4., this is because the multiplication table is like −1231123224633696th smallest element is 4 as [1, 2, 2, 3, 3, 4, 6, 6, 9]To solve this, we ... Read More

Strange Printer in C++

Arnab Chakraborty
Updated on 01-Jun-2020 11:56:58

301 Views

Suppose there is a strange printer It has some requirements −The printer can print only a sequence of the same character each time.In each turn, the printer can print new characters starting from and ending at any places, and will cover the original existing characters.So if we have a string consists of lower letters, our task is to count the minimum number of turns the printer needed in order to print it.So if the input is like “aaabba”, then it will take 2 turns, first prints aaaaa then b’s by replacing the characters.To solve this, we will follow these steps ... Read More

Decode Ways II in C++

Arnab Chakraborty
Updated on 01-Jun-2020 11:53:28

302 Views

Suppose there is a message, that is containing letters from A-Z is being encoded to numbers using the following mapping way −'A' -> 1, 'B' -> 2, ... , 'Z' -> 26Now, the encoded string can also contain the character '*', which can be treated as one of the numbers from 1 to 9. So if we have the encoded message containing digits and the character '*', then we have to find the total number of ways to decode it. If the answer is very long, we can use mod 109 + 7 to get the final result. So if ... Read More

Smallest Range Covering Elements from K Lists in C++

Arnab Chakraborty
Updated on 01-Jun-2020 11:49:49

315 Views

Suppose we have k lists of sorted integers. We have to search the smallest range that includes at least one number from each of the k lists. Here the range [a, b] is smaller than range [c, d] when b-a < d-c or a < c if b-a == d-c.So if the input is like [[4, 10, 15, 25, 26], [0, 9, 14, 20], [5, 18, 24, 30]], then the output will be [14, 18]To solve this, we will follow these steps −minRange := inf, maxRange := -inf, rangeSize := inf, tempMinRange := inf, tempMaxRange := -infn := size of ... Read More

K Inverse Pairs Array in C++

Arnab Chakraborty
Updated on 01-Jun-2020 11:47:00

315 Views

Suppose we have two integers n and k, we have to find how many different arrays consist of numbers from 1 to n such that there are exactly k inverse pairs. The inverse pair is for ith and jth element in the array, if i < j and a[i] > a[j] it is called an inverse pair. Here the answer may be very large, the answer should be modulo $10^{9}$ + 7.So if the input is like n = 3 and k = 1, then the output will be 2 as the arrays [1, 3, 2] and [2, 1, 3] ... Read More

Non-negative Integers without Consecutive Ones in C++

Arnab Chakraborty
Updated on 01-Jun-2020 11:42:46

391 Views

Suppose we have a positive integer n. We have to find the non-negative integers less than or equal to n. The constraint is that the binary representation will not contain consecutive ones. So if the input is 7, then the answer will be 5, as binary representation of 5 is 101.To solve this, we will follow these steps −Define a function convert(), this will take n, ret := empty stringwhile n is non-zero, do −ret := ret + (n mod 2)n := right shift n, 1 timereturn retFrom the main method, do the following −bits := call the function convert(num)n ... Read More

Find the Closest Palindrome in C++

Arnab Chakraborty
Updated on 01-Jun-2020 11:40:05

290 Views

Suppose we have a number n, we have to get the closest number that is palindrome. So the palindrome could be less than or greater than the number whose absolute difference is smaller. So if the number is like 145, then the result will be 141.To solve this, we will follow these steps −sn := size of nif sn is same as 1, then −decrease n[0] by 1 and return a string of 1s of size n[0]half_sn := (sn + 1) / 2half_val := stol(substring of n from index 0 to half_snDefine an array candidates = {10^(sn) – 1, 10^(sn ... Read More

Student Attendance Record II in C++

Arnab Chakraborty
Updated on 01-Jun-2020 11:37:19

587 Views

Suppose we have a positive integer n, we have to find the number of all possible attendance records with length n, which will be regarded as rewardable. As the answer may be very large, we will return it using mod 109 + 7.In the student attendance record the string can only contain the following three characters −'A' means absent.'L' means late.'P' means present.one attendance is treated as rewardable if it doesn't contain more than one 'A' (absent) or more than two continuous 'L' (late). So we have to find the maximum points.If the input is like 2, then the output ... Read More

Advertisements