Server Side Programming Articles - Page 2145 of 2651

Check for Children Sum Property in a Binary Tree in C++

Arnab Chakraborty
Updated on 21-Oct-2019 14:12:36

143 Views

Suppose we have a binary tree. The binary tree is valid when it meets the following property.Each node should contain data value same as the sum of left and right children values. If there are no children at any side, then it will be treated as 0.Suppose a tree is present like below, which meets the given property.There is no such trick to check this, we have to traverse the tree recursively, if the node and both of its children satisfies the property then return true, otherwise false.Example#include using namespace std; class node {    public:    int data; ... Read More

Check for balanced parentheses in an expression in C++

Arnab Chakraborty
Updated on 21-Oct-2019 14:09:19

4K+ Views

Suppose we have an expression. The expression has some parentheses; we have to check the parentheses are balanced or not. The order of the parentheses are (), {} and []. Suppose there are two strings. “()[(){()}]” this is valid, but “{[}]” is invalid.The task is simple; we will use stack to do this. We should follow these steps to get the solution −Traverse through the expression until it has exhaustedif the current character is opening bracket like (, { or [, then push into stackif the current character is closing bracket like ), } or ], then pop from stack, ... Read More

Check for an array element that is coprime with all others in C++

Arnab Chakraborty
Updated on 21-Oct-2019 14:03:30

337 Views

Suppose we have an array A[] of positive integers, where 2

Floor and Ceil from a BST in C++

Arnab Chakraborty
Updated on 21-Oct-2019 13:56:29

293 Views

Here we will see, how to find the Floor and Ceiling value from BST. For example, if we want to make a memory management system, where free nodes are arranged in BST. Find best fit for the input request. Suppose we are moving down the tree with smallest data larger than the key value, then there are three possible cases.Root is the key. Then root value is the ceiling valueIf root data < key, then the ceiling value will not be at the left subtree, then proceed to right subtree, and reduce the problem domainIf root data > key, then ... Read More

Finding LCM of more than two (or array) numbers without using GCD in C++

Arnab Chakraborty
Updated on 21-Oct-2019 13:52:20

1K+ Views

We have an array A, we have to find the LCM of all elements without using the GCD operation. If the array is like {4, 6, 12, 24, 30}, then the LCM will be 120.The LCM can be calculated easily for two numbers. We have to follow this algorithm to get the LCM.getLCM(a, b) −begin    if a > b, then m := a, otherwise m := b       while true do          if m is divisible by both a and b, then return m             m := m + ... Read More

Finding a Non Transitive Coprime Triplet in a Range in C++

Arnab Chakraborty
Updated on 21-Oct-2019 13:49:21

143 Views

Suppose we have the lower and upper bound, and we have to find nontransitive triplet (x, y, z), such that the pair (x, y) are coprime (GCD is 1), the pair (y, z) are coprime, but pair (x, z) is not a coprime pair. For example, if the lower bound is 2, and upper bound is 10, then the elements are {2, 3, 4, 5, 6, 7, 8, 9, 10}, here possible triplet is (4, 7, 8), here (4, 7), and (7, 8) are coprime, but (4, 8) is not a coprime pair.We will follow the naïve approach to solve ... Read More

Find the Rotation Count in Rotated Sorted array in C++

Arnab Chakraborty
Updated on 21-Oct-2019 13:47:00

272 Views

Consider we have an array, which is rotated sorted array. We have to find number of rotations are required to sort the array. (We will consider rotation right to left.)Suppose the array is like: {15, 17, 1, 2, 6, 11}, then we have to rotate the array two times to sort. The final order will be {1, 2, 6, 11, 15, 17}. Here output is 2.The logic is simple. If we notice, we can see that the number of rotation is same as the value of index of minimum element. So if we get the minimum element, then its index ... Read More

Find the GCD of N Fibonacci Numbers with given Indices in C++

Arnab Chakraborty
Updated on 21-Oct-2019 13:42:27

226 Views

Here we have to find the GCD of n Fibonacci terms with the given indices. So at first we have to get the maximum index, and generate Fibonacci terms, some Fibonacci terms are like this: 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, ….. The index is starts from 0. So the element at 0th index is 0. If we have to find gcd of Fibonacci terms at indices {2, 3, 4, 5}, then the terms are {1, 2, 3, 4}, so GCD of these numbers are 1.We will use one interesting approach to do this task. To ... Read More

Find pair with maximum GCD in an array in C++

Arnab Chakraborty
Updated on 21-Oct-2019 13:40:07

659 Views

Suppose we have an array of positive integers. Our task is to find pair of integers from the array, where the GCD value is maximum. Let A = {1, 2, 3, 4, 5}, then the output is 2. The pair (2, 4) has GCD 2, other GCD values are less than 2.To solve this problem, we will maintain a count array to store the count of divisors of each element. The process of counting divisors will take O(sqrt(arr[i])) amount of time. After whole traversal, we can traverse the count array from last index to first index, then if we find ... Read More

Find Count of Single Valued Subtrees in C++

Arnab Chakraborty
Updated on 21-Oct-2019 13:37:05

449 Views

Suppose we have a binary tree. Our task is to count single valued subtrees in the given tree. A single valued subtree is a subtree, where all nodes of that tree is containing same value. Suppose a tree is like below −There are four Single value subtrees. These are like below −We can solve this using bottom up manner. For every subtree visited, return true, if the subtree, rooted under it is single valued, and increase the counter by 1. Here count is the reference parameter for recursive call. And use the returned value to find out if left and ... Read More

Advertisements