Found 7347 Articles for C++

Find duplicates in a given array when elements are not limited to a range in C++

Arnab Chakraborty
Updated on 18-Dec-2019 10:36:54

1K+ Views

Suppose we have an array of N integers. Here we will print the duplicates of the given array. If no such duplicates are present, then return -1. So if the array is like [12, 15, 12, 3, 6, 12, 3, 48, 56, 8, 48], then duplicates are: [12, 3, 48]Here we will use the unordered map in C++. So at first when one element is taken, check whether that is present in the map or not, if this is present, then simply print that as duplicate, otherwise just add that into map.Example Live Demo#include #include using namespace std; void displayDuplicates(int arr[], ... Read More

Find minimum sum such that one of every three consecutive elements is taken in C++

Arnab Chakraborty
Updated on 18-Dec-2019 10:35:48

281 Views

Suppose we have an array of n elements. The task is to find the minimum sum of elements from the array. Such that at least one element one element is picked out of every three consecutive elements in that array. So if the array is like [1, 2, 3, 6, 7, 1]. The output is 4. So if we pick 3 and 1, then (3 + 1 = 4). So there are some subarrays of consecutive elements like [1, 2, 3], [2, 3, 6], [3, 6, 7], [6, 7, 1], we have picked one element from every subarray.Consider sum(i) will ... Read More

Find count of Almost Prime numbers from 1 to N in C++

Arnab Chakraborty
Updated on 18-Dec-2019 10:34:28

270 Views

Suppose we have a number N. We have to find almost prime numbers in range 1 to N. A number is called almost prime when it has exactly two distinct factors. The numbers can have any number of non-prime factors, but should be two prime factors. So if N is 2, then output will be 2. There are two numbers 6 and 10.Here we will use the Sieve of Eratosthenes approach. Please check the following implementation to get better idea.Example Live Demo#include #define N 100005 using namespace std; bool prime[N]; void SieveOfEratosthenes() {    for(int i = 0; i

Find minimum shift for longest common prefix in C++

Arnab Chakraborty
Updated on 18-Dec-2019 10:32:58

358 Views

Consider we have two strings A and B. The length of A and B are same. In a single shift we can rotate the string B one element. We have to find minimum required shift to get common prefix of maximum length from A and B. So if A = “computerprogramming”, and B = “programminglanguage” So the minimum shift is 8, and prefix is “programming”.Suppose we add the string B at the end of B, so B = B + B, then there is no-need to find prefix of each shift separately. So we have to find the longest prefix ... Read More

Find all elements in array which have at-least two greater elements in C++

Arnab Chakraborty
Updated on 18-Dec-2019 10:30:50

262 Views

Suppose, we have an array of n numbers. We have to find all elements in array, which have at least two greater elements. If the array is like A = [2, 8, 7, 1, 5], then the result will be [2, 1, 5]To solve this, we will find second max element, then print all elements which is less than or equal to second max value.Example#include using namespace std; void searchElements(int arr[], int n) {    int first_max = INT_MIN, second_max = INT_MIN;    for (int i = 0; i < n; i++) {       if (arr[i] > first_max) ... Read More

Find minimum cost to buy all books in C++

Arnab Chakraborty
Updated on 18-Dec-2019 10:28:22

178 Views

Suppose we have an array of n elements. These are the ratings of them. Find the minimum cost to buy all books, with the following condition −Cost of each book would be at-least 1 dollarA book has higher cost than an adjacent (left or right) if rating is more than the adjacent.So for example, if the rating array is like [1, 3, 4, 3, 7, 1], Then the output is 10, As 1 + 2 + 3 + 1 + 2 + 1 = 10To solve this, we have to make two arrays called LtoR, and RtoL, and fill them ... Read More

Find minimum area of rectangle with given set of coordinates in C++

Arnab Chakraborty
Updated on 18-Dec-2019 10:25:32

319 Views

Suppose we have an array of some points in XY plane. We have to find the minimum area of rectangle that can be formed from these points. The side of the rectangle should be parallel to the X and Y axes. If we cannot form the rectangle, then return 0. So if the array of points is like [(1, 1), (1, 3), (3, 1), (3, 3), (2, 2)]. The output will be 4. As the rectangle can be formed using the points (1, 1), (1, 3), (3, 1) and (3, 3).To solve this, give the points by x coordinates, so ... Read More

Find all combinations of k-bit numbers with n bits set where 1 <= n <= k in sorted order in C++

Arnab Chakraborty
Updated on 18-Dec-2019 10:26:54

318 Views

Suppose we have a number k. Find all possible combinations of k- bit numbers with n set-bits where 1

Find maximum vertical sum in binary tree in C++

Arnab Chakraborty
Updated on 18-Dec-2019 10:23:16

77 Views

Suppose we have a binary tree. The task is to print maximum of the sum of all nodes in the vertical order traversal. So if the tree is like below −The vertical order traversal is like −4 2 1 + 5 + 6 = 12 3 + 8 = 11 7 9Here the maximum is 12. The approach is simple. We will perform the vertical order traversal, then find the sum and check for maximum.Example#include #include #include #include using namespace std; class Node {    public:    int key;    Node *left, *right; }; Node* getNode(int key){    Node* node ... Read More

Find a time for which angle between hour and minute hands is given theta in C++

Arnab Chakraborty
Updated on 18-Dec-2019 10:24:37

93 Views

Suppose we have one theta, or angle value. We have to find one time in hh:mm format, that creates the angle by the hour and minute hands. Suppose the angle is 90°, then the result can be 3:00.As there are 12 hours, so there are 12 possibilities for hours and 60 possibilities for minutes. We will loop through all possible times. If angle for any time is same as given theta, then print that time.Example Live Demo#include #include using namespace std; float angleFromClockHand(int hour, int minute) {    float hour_angle = 0.5 * (hour*60 + minute);    float minute_angle = 6*minute; ... Read More

Advertisements