Suppose we have a binary search tree. We will take one key k, and we have to delete the given key k from the BST, and return the updated BST. So if the tree is like −And the key k = 3, then the output tree will be −To solve this, we will follow these steps −Define a method called deleteRoot() to delete the root node, this will work as followsif root is null, then return nullif root has no right subtree, then return left of rootx := inorder successor of rootset left of x as left := left of ... Read More
Suppose we have a collection of intervals; we have to find the minimum number of intervals we need to remove to make the rest of the intervals non-overlapping. So if the intervals are [[1, 2], [2, 3], [3, 4], [1, 3]], then the output will be 1, as we have to remove [1, 3] to make all others are non-overlapping.To solve this, we will follow these steps −n := size of arrayif n is 0, then return 0count := 1sort the array based on the end time of the intervalsend := end date of the first intervalfor i in range ... Read More
Suppose we have an n-ary tree, we have to return the level order traversal of its nodes' values. The Nary-Tree input serialization is represented in their level order traversal. Here each group of children is separated by the null value (See examples). So the following tree can be represented as [1, null, 3, 2, 4, null, 5, 6]The output will be [[1], [3, 2, 4], [5, 6]]To solve this, we will follow these steps −make one matrix ansif root is null, return ansmake one queue q and insert rootwhile q is not emptysize := size of the queuemake one array ... Read More
Suppose we have an 2D board, we have to count how many battleships are in it. The battleships are represented with the symbol 'X', empty slots are represented with '.'s. We can assume these rules −You receive a valid board, made of only battleships or empty slots.Battleships can only be placed horizontally or vertically. In other words, they can only be made of the shape 1xN (1 row, N columns) or Nx1 (N rows, 1 column), where N can be of any size.At least one horizontal or vertical cell separates between two battleships - there are no adjacent battleships.So if ... Read More
Suppose we have a tree, this tree is rooted at node 0, this is given as follows −Number of nodes is nodesValue of ith node is value[i]Parent of ith node is parent[i]We have to remove every subtree whose sum of values of nodes is 0, after doing that return the number of nodes remaining in the tree. So if the tree is like −There are 7 nodes, the output will be 2To solve this, we will follow these steps −Create a map called childrendefine a method called dfs(), this will take node, an array value and graphtemp := a pair ... Read More
Suppose we have a sorted list of disjoint intervals, each interval intervals[i] = [a, b] represents the set of numbers x such that a b[0], then swap a and bif a and b are intersecting, then call manipulate2(ans, t)return ansExample(C++)Let us see the following implementation to get a better understanding − Live Demo#include using namespace std; void print_vector(vector v){ cout
Suppose we have an unsorted array nums, we have to rearrange it such that nums[0] < nums[1] > nums[2] < nums[3]. So if the input is like [1, 5, 1, 1, 6, 4], then the output will be [1, 4, 1, 5, 1, 6].To solve this, we will follow these steps −make one array x, that has same elements as numssort x arrayi := size of x – 1, j := (size of x – 1) / 2 and n := size of nums arrayfor l in range 0 to n – 1, increase l by 2 in each stepnums[l] ... Read More
Suppose we have an array of integers nums and an integer k. A subarray is known as nice subarray if there are k odd numbers on it. We have to find the number of nice sub-arrays. So if the array is [1, 1, 2, 1, 1], and k = 3, then the output will be 2, as the subarrays are [1, 1, 2, 1], and [1, 2, 1, 1]To solve this, we will follow these steps −ans := 0, n := size of nums arrayleft := 0 and right := 0, and count := 0define an array odd, fill this ... Read More
Suppose we have a 2D binary matrix filled with 0's and 1's. We have to find the largest square containing only 1's and return its area. So if the matrix is like −10100101101111110010Then the output will be 4To solve this, we will follow these steps −ans := 0, n := number of rows, c := number of rowsif n is 0, then return 0Create another matrix of order (n x c)for i in range 0 to n – 1for j in range 0 to c – 1m[i, j] := matrix[i, j]ans := maximum of m[i, j] and ansfor j in ... Read More
Suppose we have two strings s1 and s2 of equal length consisting of letters only "x" and "y". Our task is to make these two strings equal to each other. We can swap any two characters that belong to different strings, which means − swap s1[i] and s2[j]. We have to find the minimum number of swaps required to make s1 and s2 equal, or return -1 if it is impossible to do so. So if the strings are s1 = “xy” and s2 = “yx”, then the output will be 2. If we swap s1[0] and s2[0], s1 = ... Read More
Data Structure
Networking
RDBMS
Operating System
Java
iOS
HTML
CSS
Android
Python
C Programming
C++
C#
MongoDB
MySQL
Javascript
PHP