Suppose we have a binary tree and a value K. The task is to print the Kth node in the vertical order traversal. If no such node exists, then return -1. So if the tree is like below −The vertical order traversal is like −4 2 1 5 6 3 8 7 9So if K = 3, then result will be 1.The approach is simple. We will perform the vertical order traversal, then check the current node is the kth node or not, if so then return.Example Live Demo#include #include #include #include using namespace std; class Node { public: ... Read More
Suppose we have some points, and one integer k. We have to find minimum radius of a circle whose center is at (0, 0) to cover k points. So if the points are like (1, 1), (-1, -1), (1, -1), and k = 3, then radius will be 2.Here we will find the Euclidean distance between each point and (0, 0), then sort the distances and return the kth element after sorting.Example Live Demo#include #include using namespace std; struct point{ int x, y; }; int minRadius(int k, point points[], int n) { int dist[n]; for (int i = ... Read More
Suppose we have a number N. We have to find minimum number that divide N to make it perfect square. So if N = 50, then minimum number is 2, as 50 / 2 = 25, and 25 is a perfect square.A number is perfect square if it has even number of different factors. So we will try to find the prime factors of N, and find each prime factor power. Find and multiply all prime factors whose power is odd.Example Live Demo#include #include using namespace std; int findMinimumNumberToDivide(int n) { int prime_factor_count = 0, min_divisor = 1; while ... Read More
Suppose we have an array of n elements. We have to find the first, second and the third minimum elements in the array. First minimum is the minimum of the array, second min is minimum but larger than the first one, and similarly the third min is minimum but greater than second min.Scan through each element, then check the element, and relate the condition for first, second and third min elements conditions to solve this problem.Example#include using namespace std; int getThreeMins(int arr[], int n) { int first = INT_MAX, sec = INT_MAX, third = INT_MAX; for ... Read More
As we know that log(x*y) = log(x) + log(y). So we will see what are the minimum number of log values are required to calculate all log values from 1 to N. So if N is 6, then output will be 3, as from log(1) to log(6), there are three log values are required except log(1). As log(1) is always 0, then ignore it, now for log(2) and log(3), we have to find. After that for log(4) this is log(2)+ log(2), but value of log(2) is known, so we do not calculate this again, for log(5), we need to calculate. ... Read More
Suppose we have a number position in infinite number line. (-inf to +inf). Starting from 0, we have to reach to the target by moving as described. In ith move, we can go i steps either left or right. We have to find minimum number of moves that are required. Suppose the target is 2, so minimum steps will be 3. From 0 to 1, from 1 to -1 and from -1 to 2.To solve this problem, we have some important points to remember. If the target is negative, then just take this as positive, as the number line is ... Read More
Suppose we have the area A and a perimeter P, now we have to find what will be the maximum volume that can be made in form of cuboid from given perimeter and surface area. So when the P is 24 and A is 24, then the output will be 8.As we know for given perimeter of cuboid P = 4(length + breadth + Depth), for area, it will be A = 2(length* breadth + breadth*Depth + length *Depth), and the volume is V = (length* breadth*Depth)Example Live Demo#include #include using namespace std; float maxVolumeCuboid(float Peri, float Area) { float ... Read More
Suppose we have an array of n integers. Find the max sum of strictly increasing subarrays. So if the array is like [1, 2, 3, 2, 5, 1, 7], the sum is 8. In this array there are three strictly increasing sub-arrays these are {1, 2, 3}, {2, 5} and {1, 7}. The max sum sub-array is {1, 7}To solve this problem, we have to keep track of max sum and the current sum. For each element arr[i] if this is larger than arr[i – 1], then we add this to the current sum, otherwise arr[i] is the starting point ... Read More
Suppose we have an array of n elements. Find the maximum possible sum of all elements such that all the elements are same. Only operation that is allowed is choosing any two elements and replacing the larger of them by the absolute difference of the two. Suppose elements are like [9, 12, 3, 6]. Then the output will be 12. So at first replace A[1] with A[1] – A[3] = 12 – 6 = 6. So now elements are [9, 6, 3, 6], then replace A[3] with A[3] – A[2] = 6 – 3 = 3. So the elements are ... Read More
Consider we have a number n, we have to find the sum of even indexed binomial coefficients like $$\left(\begin{array}{c}n\ 0\end{array}\right)+\left(\begin{array}{c}n\ 2\end{array}\right)+\left(\begin{array}{c}n\ 4\end{array}\right)+\left(\begin{array}{c}n\ 6\end{array}\right)+...\left(\begin{array}{c}4\ 0\end{array}\right)+\left(\begin{array}{c}4\ 2\end{array}\right)+\left(\begin{array}{c}4\ 4\end{array}\right)++=1+6+1=8$$So here we will find all the binomial coefficients, then only find the sum of even indexed values.Example Live Demo#include using namespace std; int evenIndexedTermSum(int n) { int coeff[n + 1][n + 1]; for (int i = 0; i Read More
Data Structure
Networking
RDBMS
Operating System
Java
iOS
HTML
CSS
Android
Python
C Programming
C++
C#
MongoDB
MySQL
Javascript
PHP