Programming Articles - Page 2221 of 3366

Find element in a sorted array whose frequency is greater than or equal to n/2 in C++.

Arnab Chakraborty
Updated on 19-Dec-2019 07:50:35

153 Views

Consider we have an array with size n. This array is sorted. There is one element whose frequency is greater than or equal to n/2, where n is the number of elements in the array. So if the array is like [3, 4, 5, 5, 5], then the output will be 5.If we closely observe these type of array, we can easily notice that the number whose frequency is greater than or equal to n/2, will be present at index n/2 also. So the element can be found at position n/2Example Live DemoSource Code: #include using namespace std; int higherFreq(int arr[], ... Read More

Find the sum of digits of a number at even and odd places in C++

Arnab Chakraborty
Updated on 19-Dec-2019 07:49:11

1K+ Views

Suppose, we have an integer N, We have to find the sum of the odd place digits and the even place digits. So if the number is like 153654, then odd_sum = 9, and even_sum = 15.To solve this, we can extract all digits from last digit, if the original number has odd number of digits, then the last digit must be odd positioned, else it will be even positioned. After process a digit, we can invert the state from odd to even and vice versa.Example Live Demo#include using namespace std; bool isOdd(int x){    if(x % 2 == 0)   ... Read More

Find duplicate in an array in O(n) and by using O(1) extra space in C++

Arnab Chakraborty
Updated on 19-Dec-2019 07:47:38

150 Views

Suppose we have a list of numbers from 0 to n-1. A number can be repeated as many as a possible number of times. We have to find the repeating numbers without taking any extra space. If the value of n = 7, and list is like [5, 2, 3, 5, 1, 6, 2, 3, 4, 5]. The answer will be 5, 2, 3.To solve this, we have to follow these steps −for each element e in the list, do the following steps −sign := A[absolute value of e]if the sign is positive, then make it negativeOtherwise, it is a ... Read More

Find the Product of first N Prime Numbers in C++

Arnab Chakraborty
Updated on 19-Dec-2019 07:46:12

385 Views

Suppose we have a number n. We have to find the product of prime numbers between 1 to n. So if n = 7, then output will be 210, as 2 * 3 * 5 * 7 = 210.We will use the Sieve of Eratosthenes method to find all primes. Then calculate the product of them.Example Live Demo#include using namespace std; long PrimeProds(int n) {    bool prime[n + 1];    for(int i = 0; i

Find distance from root to given node in a binary tree in C++

Arnab Chakraborty
Updated on 19-Dec-2019 07:44:44

385 Views

Consider we have a binary tree with few nodes. We have to find the distance between the root and another node u. suppose the tree is like below:Now the distance between (root, 6) = 2, path length is 2, distance between (root, 8) = 3 etc.To solve this problem, we will use a recursive approach to search the node at the left and right subtrees, and also update the lengths for each level.Example Live Demo#include using namespace std; class Node {    public:       int data;    Node *left, *right; }; Node* getNode(int data) {    Node* node = ... Read More

Find the number of ways to divide number into four parts such that a = c and b = d in C++

Arnab Chakraborty
Updated on 19-Dec-2019 07:42:06

216 Views

Suppose we have a number n. We have to find number of ways to divide a number into parts (a, b, c and d) such that a = c, and b = d. So if the number is 20, then output will be 4. As [1, 1, 9, 9], [2, 2, 8, 8], [3, 3, 7, 7] and [4, 4, 6, 6]So if N is odd, then answer will be 0. If the number is divisible by 4, then answer will be n/4 – 1 otherwise n/4.Example Live Demo#include using namespace std; int countPossiblity(int num) {    if (num % 2 == 1)       return 0;    else if (num % 4 == 0)       return num / 4 - 1;    else       return num / 4; } int main() {    int n = 20;    cout

Find distance between two nodes of a Binary Tree in C++

Arnab Chakraborty
Updated on 19-Dec-2019 07:40:31

268 Views

Consider we have a binary tree with few nodes. We have to find the distance between two nodes u and v. suppose the tree is like below −Now the distance between (4, 6) = 4, path length is 4, length between (5, 8) = 5 etc.To solve this problem, we will find the LCA (Lowest Common Ancestor), then calculate distance from LCA to two nodes.Example Live Demo#include using namespace std; class Node {    public:       int data;    Node *left, *right; }; Node* getNode(int data) {    Node* node = new Node;    node->data = data;    node->left ... Read More

Find the number of jumps to reach X in the number line from zero in C++

Arnab Chakraborty
Updated on 19-Dec-2019 07:38:56

284 Views

Suppose we have an integer X. We have to find minimum number of jumps required to reach X from 0. The first jump made can be of length one unit and each successive jump will be exactly one unit longer than the previous jump in length. It is allowed to go either left or right in each jump. So if X = 8, then output is 4. 0 → -1 → 1→ 4 → 8 are possible stages.If we observe carefully, then we can say thatIf you have always jumped in the right direction, then after n jumps you will ... Read More

Find count of common nodes in two Doubly Linked Lists in C++

Arnab Chakraborty
Updated on 19-Dec-2019 07:37:15

279 Views

Suppose we have two doubly-linked lists. We have to find the total number of common nodes in both the doubly linked list. So if two lists are like [15, 16, 10, 9, 7, 17], and [15, 16, 40, 6, 9], there are three common nodes.Traverse both lists up to end of the list using two nested loops, for every node in the list, check if it is matched with any node of the second list or not. If a match is found, then increase the counter, and finally return the count.Example Live Demo#include using namespace std; class Node {    public: ... Read More

Find the number of integers x in range (1,N) for which x and x+1 have same number of divisors in C++

Arnab Chakraborty
Updated on 19-Dec-2019 07:35:29

164 Views

Suppose, we have an integer N, we have to find the number of integers 1 < x < N, for which x and x + 1 has same number of positive divisors. So if N = 3, then output will be 1, as divisor of 1 is 1, divisor of 2 is 1 and 2, and divisor of 3 is 1 and 3.To solve this, we will find the number of divisors of all numbers below N, and store them in an array. Then count number of integers x such that x, such that x + 1 have the same ... Read More

Advertisements