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
C++ Articles
Page 221 of 597
Minimum Swaps required to group all 1's together in C++
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#include using namespace std; ...
Read MoreMinimum swaps required to make a binary string alternating in C++
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 MoreMinimum toggles to partition a binary array so that it has first 0s then 1s in C++
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 MoreMinimum value among AND of elements of every subset of an array in C++
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 MoreMinimum value of "max + min" in a subarray in C++
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 MoreMinimum value that divides one number and divisible by other in C++
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 MoreMinimum XOR Value Pair in C++
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#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
Read MoreMirror of n-ary Tree in C++
Problem statementGiven a Tree where every node contains variable number of children, convert the tree to its mirrorExampleIf n-ary tree is −Then it’s mirror is −Example#include using namespace std; struct node { int data; vectorchild; }; node *newNode(int x) { node *temp = new node; temp->data = x; return temp; } void mirrorTree(node * root) { if (root == NULL) { return; } int n = root->child.size(); if (n < 2) { return; } for (int i = 0; i < n; ...
Read MoreMissing even and odd elements from the given arrays in C++
Problem statementGiven two integer arrays even [] and odd [] which contains consecutive even and odd elements respectively with one element missing from each of the arrays. The task is to find the missing elements.ExampleIf even[] = {10, 8, 6, 16, 12} and odd[] = {3, 9, 13, 7, 11} then missing number from even array is 14 and from odd array is 5.AlgorithmStore the minimum and the maximum even elements from the even[] array in variables minEven and maxEvenSum of first N even numbers is N * (N + 1). Calculate sum of even numbers from 2 to minEven ...
Read MoreMissing Permutations in a list in C++
Problem statementGiven a list of permutations of any word. Find the missing permutation from the list of permutations.ExampleIf permutation is = { “ABC”, “ACB”, “BAC”, “BCA”} then missing permutations are {“CBA” and “CAB”}AlgorithmCreate a set of all given stringsAnd one more set of all permutationsReturn difference between two setsExample#include using namespace std; void findMissingPermutation(string givenPermutation[], size_t permutationSize) { vector permutations; string input = givenPermutation[0]; permutations.push_back(input); while (true) { string p = permutations.back(); next_permutation(p.begin(), p.end()); if (p == permutations.front()) break; ...
Read More