C++ Articles - Page 286 of 586
1K+ Views
The block swap algorithm for array rotation is an efficient algorithm that is used for array rotation. It can do your work in O(n) time complexity.So, in array rotation, we are given an array arr[] of size n and a number k that define the no. of the element to be rotated.Let’s see an example on array rotations −Input −arr[] = {4, 6, 1, 8, 9, 2}, k = 2 (number of rotations.)Output −{1, 8, 9, 2, 4, 6}Explanation − On rotation, we will shift the one element to the last position and shift the next elements to one position.Element ... Read More
430 Views
BK tree or Burkhard tree is a form of a data structure usually used to perform spell checks based on Levenshtein distance. It is also used for string matching Autocorrect feature can be used making this data structure. Let's say we have some words in a dictionary and we need to check some other words for spelling errors. We need to have a collection of words that is close to the given word whose spelling is to be checked. For example, if we have the word “uck” The correct word can be (truck, duck, duck, suck). Therefore spelling mistakes can ... Read More
1K+ Views
In this problem, we are given an array arr[] of size n and an integer k. Our task is to find the subarray within from index i to j and compute bitwise AND of all its elements. After this print minimum value of abs(K- (bitwise AND of subarray)).Let’s take an example to understand the problem, Input − arr[] = {5, 1}, k = 2Output −To solve the problem, there can be a few methods.One simple solution will be using the direct method. By finding bitwise AND for all sub-arrays then finding the |K-X|.Step 1 − Find the bitwise AND for ... Read More
247 Views
In this problem, we are given two integer values a and b. And our task is to find the bitwise and (&) of range from a to b. This means we will have to find the value of a & a+1 & a+2 & … b-1 & b.Let’s take an example to understand the problem, Input − a = 3 , b = 8Output − 0Explanation − 3 & 4 & 5 & 6 & 7 & 8 = 0To solve the problem, a simple solution is starting from a and find bitwise and of all numbers by increasing one ... Read More
1K+ Views
The bitonic sort is a parallel sorting algorithm that is created for best implementation and has optimum usage with hardware and parallel processor array.It is not the most effective one though as compared to the merge sort. But it is good for parallel implementation. This is due to the predefined comparison sequence which makes comparisons independent of data that are to be sorted.For bitonic sort to work effectively the number of elements should be in a specific type of quantity i.e. the order 2^n.One major part of the bitonic sort is the bitonic sequence which is a sequence whose elements ... Read More
3K+ Views
First, we will learn about bitmasking and dynamic programming then we will solve a problem related to it that will solve your queries related to the implementation.Bitmask also known as mask is a sequence of N -bits that encode the subset of our collection. The element of the mask can be either set or not set (i.e. 0 or 1). This denotes the availability of the chosen element in the bitmask. For example, an element i is available in the subset if the ith bit of mask is set. For the N element set, there can be a 2N mask ... Read More
139 Views
Given a binary array arr[] and two variables a and b with some initial values. To cross an element in the array arr[] there are two ways −If arr[i] == 1, then 1 unit can be used from a, with no change in b. If 1 unit is used from b, then a increases by 1 unit. (Note that the value of a cannot be incremented above its original value.)If arr[i] == 0, then 1 unit can be used from a or b.Let’s now understand what we have to do using an example −Inputarr[] = {0, 0, 0, 1, 1}, ... Read More
416 Views
Given the task is to find the maximum number of elements that can be made equal in a given array after incrementing its elements by at-most k times.Let’s now understand what we have to do using an example −Inputa[] = {1, 3, 8}, k = 4Output2ExplanationHere we can obtain two fours by incrementing 1 three times and incrementing 3 four times, that makes a[] = {4, 4, 8}Inputarr = {2, 5, 9}, k = 2Output0Approach used in the below program as followsIn main() function initialize int a[], size and k to store the array elements, size of array and the ... Read More
335 Views
Given the task is to find the maximum number of distinct lower case alphabets that are present between two upper case alphabets in the given string.Let’s now understand what we have to do using an example −Inputstr = “JKyubDoorG”Output3Explanation“yub” is present between the two upper case alphabets K and D which makes the count 3.“oor” is also present between the two upper case alphabets D and G which makes the count 2 as ‘o’ is a repeating alphabet and we are looking for distinct alphabets.Therefore, the output is 3.Inputstr = “ABcefsTaRpaep”Output4Approach used in the below program as followsIn function Max() ... Read More
387 Views
Given the task is to find a sub-string from a given binary string and then the maximum difference between the number of zeroes and the ones.Let’s now understand what we have to do using an example −Inputstr = “100100110”Output2ExplanationIn the sub-array from the position 1 to 5 (“00100”), the difference between the zeros and ones = 4 – 1 = 3 which is the maximum that can be found.Inputstr = “00000”Output5Approach used in the below program as followsIn main() function create a string str to store the binary string. Also initialize a variable int size to store the size of ... Read More
Data Structure
Networking
RDBMS
Operating System
Java
iOS
HTML
CSS
Android
Python
C Programming
C++
C#
MongoDB
MySQL
Javascript
PHP