Programming Articles - Page 2210 of 3366

Minimum XOR Value Pair in C++

Narendra Kumar
Updated on 20-Dec-2019 10:21:42

159 Views

Problem statementGiven an array of integers. Find the pair in an array which has minimum XOR valueExampleIf arr[] = {10, 20, 30, 40} then minimum value pair will be 20 and 30 as (20 ^ 30) = 10. (10 ^ 20) = 30 (10 ^ 30) = 20 (10 ^ 40) = 34 (20 ^ 30) = 10 (20 ^ 40) = 60 (30 ^ 40) = 54AlgorithmGenerate all pairs of given array and compute XOR their valuesReturn minimum XOR valueExample Live Demo#include using namespace std; int getMinValue(int *arr, int n) {    int minValue = INT_MAX;    for (int i = 0; i < n; ++i) {       for (int j = i + 1; j < n; ++j) {          minValue = min(minValue, arr[i] ^ arr[j]);       }    }    return minValue; } int main() {    int arr[] = {10, 20, 30, 40};    int n = sizeof(arr) / sizeof(arr[0]);    cout

Minimum value that divides one number and divisible by other in C++

Narendra Kumar
Updated on 20-Dec-2019 10:18:48

165 Views

Problem statementGiven two integer p and q, the task is to find the minimum possible number x such that q % x = 0 and x % p = 0. If the conditions aren’t true for any number, then print -1.ExampleIf p = 3 and q = 66 then answer is 3 as: 66 % 3 = 0 3 % 3 = 0AlgorithmIf a number x satisfies the given condition, then it’s obvious that q will be divided by p i.e. q % p = 0 because x is a multiple of p and q is a multiple of xSo ... Read More

Minimum value of “max + min” in a subarray in C++

Narendra Kumar
Updated on 20-Dec-2019 10:16:18

410 Views

Problem statementGiven a array of n positive elements we need to find the lowest possible sum of max and min elements in a subarray given that size of subarray should be greater than equal to 2.ExampleIf arr[] = {10, 5, 15, 7, 2, 1, 3} then sum of “max + min” is 3 when we add “2 + 1”.AlgorithmAdding any element to a subarray would not increase sum of maximum and minimum.Since the max of an array will never decrease on adding elements to the array. It will only increase if we add larger elements. So it is always optimal ... Read More

Minimum value among AND of elements of every subset of an array in C++

Narendra Kumar
Updated on 20-Dec-2019 10:12:55

174 Views

Problem statementGiven an array of integers, the task is to find the AND of all elements of each subset of the array and print the minimum AND value among all those.ExampleIf arr[] = {1, 2, 3, 4, 5} then (1 & 2) = 0 (1 & 3) = 1 (1 & 4) = 0 (1 & 5) = 1 (2 & 3) = 2 (2 & 4) = 0 (2 & 5) = 0 (3 & 4) = 0 (3 & 5) = 1 (4 & 5) = 4AlgorithmThe minimum AND value of any subset of the array will be ... Read More

Minimum toggles to partition a binary array so that it has first 0s then 1s in C++

Narendra Kumar
Updated on 20-Dec-2019 10:11:16

117 Views

Problem statementGiven an array of n integers containing only 0 and 1. Find the minimum toggles (switch from 0 to 1 or vice-versa) required such the array the array become partitioned, i.e., it has first 0s then 1s.ExampleIf arr[] = {1, 0, 0, 1, 1, 1, 0} then 2 toggle is required i.e. toggle first one and last zero.AlgorithmIf we observe the question, then we will find that there will definitely exist a point from 0 to n-1 where all elements left to that point should contains all 0’s and right to point should contains all 1’sThose indices which don’t ... Read More

Minimum swaps required to make a binary string alternating in C++

Narendra Kumar
Updated on 20-Dec-2019 10:07:23

419 Views

Problem statementGiven a binary string of even length and equal number of 0’s and 1’s. What is the minimum number of swaps to make the string alternating? A binary string is alternating if no two consecutive elements are equalExampleIf str = 11110000 then 2 swaps are required.AlgorithmCount number of zeroes at odd position and even position of the string. Let their count be oddZeroCnt and evenZeroCnt respectivelyCount number of ones at odd position and even position of the string. Let their count be oddOneCnt and evenOneCnt respectivelyWe will always swap a 1 with a 0. So we just check if ... Read More

Minimum Swaps required to group all 1’s together in C++

Narendra Kumar
Updated on 20-Dec-2019 10:04:18

270 Views

Problem statementGiven an array of 0’s and 1’s. The task is to find the minimum number of swaps required to group all 1’s present in the array together.ExampleIf input array = {1, 0, 1, 1, 0, 1} then 1 swap is required. i.e. swap first 0 with last 1.AlgorithmCount total number of 1’s in the arrayIf count is x, then we need to find the subarray of length x of this array with maximum number of 1’sMinimum swaps required will be the number of 0’s in the subarray of length x with maximum number of 1’sExample Live Demo#include using namespace ... Read More

Minimum swaps required to bring all elements less than or equal to k together in C++

Narendra Kumar
Updated on 20-Dec-2019 10:01:08

499 Views

Problem statementGiven an array of n positive integers and a number k. Find the minimum number of swaps required to bring all the numbers less than or equal to k together.ExampleIf input array is = {1, 5, 4, 7, 2, 10} and k = 6 then 1 swap is required i.e. swap element 7 with 2.AlgorithmCount all elements which are less than or equals to ‘k’. Let’s say the count is ‘cnt’Using two pointer technique for window of length ‘cnt’, each time keep track of how many elements in this range are greater than ‘k’. Let’s say the total count ... Read More

Minimum Sum Path in a Triangle in C++

Narendra Kumar
Updated on 20-Dec-2019 09:58:12

204 Views

Problem statementGiven a triangular structure of numbers, find the minimum path sum from top to bottom. Each step you may move to adjacent numbers on the row below.ExampleIf input is −   5   7 3  8 1 2 9 6 4 5Then minimum sum is 13 as follows −5 + 3 + 1 + 4AlgorithmUse memorization technique of dynamic programmingCreate 1-D array for memorization namely memorizationFor each K row use below formula −memorization[i] = min( memorization[i], memorization[i+1]) + A[k][i];Example Live Demo#include using namespace std; int getMinSum(vector &arr) {    int memorization[arr.size()];    int n = arr.size() - 1;    for ... Read More

Minimum sum path between two leaves of a binary trees in C++

Narendra Kumar
Updated on 20-Dec-2019 09:49:26

224 Views

Problem statementGiven a binary tree in which each node element contains a number. The task is to find the minimum possible sum from one leaf node to another.ExampleIn above tree minimum sub path is -6 as follows: (-4) + 3 + 2 + (-8) + 1AlgorithmThe idea is to maintain two values in recursive calls −Minimum root to leaf path sum for the subtree rooted under current nodeThe minimum path sum between leavesFor every visited node X, we have to find the minimum root to leaf sum in left and right sub trees of X. Then add the two values ... Read More

Advertisements