Found 7347 Articles for C++

Delete Node in a BST in C++

Arnab Chakraborty
Updated on 30-Apr-2020 10:05:03

3K+ Views

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

Non-overlapping Intervals in C++

Arnab Chakraborty
Updated on 30-Apr-2020 09:58:31

485 Views

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

N-ary Tree Level Order Traversal in C++

Arnab Chakraborty
Updated on 30-Apr-2020 09:56:58

348 Views

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

Battleships in a Board in C++

Arnab Chakraborty
Updated on 30-Apr-2020 09:55:40

690 Views

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

Wiggle Sort II in C++

Arnab Chakraborty
Updated on 30-Apr-2020 09:46:02

426 Views

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

Maximal Square in C++

Arnab Chakraborty
Updated on 30-Apr-2020 09:40:51

296 Views

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

Minimum Size Subarray Sum in C++

Arnab Chakraborty
Updated on 30-Apr-2020 09:38:26

1K+ Views

Suppose we have an array of n elements, and a positive integer s. We have to find the minimal length of a contiguous subarray, of which the sum is greater or equal to s. If there isn’t one, then return 0 instead. So if the array is like [2, 3, 1, 2, 3, 4] and sum is 7, then the output will be 2. This is the subarray [4, 3] has the minimum length for this case.To solve this, we will follow these steps −ans := 0, n := size of array A, j := 0 and sum := 0for ... Read More

Fraction to Recurring Decimal in C++

Arnab Chakraborty
Updated on 30-Apr-2020 09:36:18

837 Views

Suppose we have two integers representing the numerator and denominator of a fraction, we have to find fraction in string format. If the fractional part is repeating, enclose the repeating part in parentheses. So if the numerator is 2 and denominator is 3, then the output will be “0.(6)”To solve this, we will follow these steps −if numerator is 0, then return 0define one array ansif the numerator < 0 and denominator > 0 or numerator 0 and denominator < 0, then insert negative symbol ‘-’ into the ans arraydivisor := |numerator| and dividend := |denominator|, remainder := divisor mod ... Read More

Sort List in C++

Arnab Chakraborty
Updated on 30-Apr-2020 09:29:28

202 Views

Suppose we have a list, we have to sort this in O(n logn) time using constant space complexity, so if the list is like [4, 2, 1, 3], then it will be [1, 2, 3, 4]To solve this, we will follow these steps −Define a method for merging two lists in sorted, order, that method is merge(), this takes two lists l1 and l2.The sort list method will work like below −if head is null, or next of head is null, then return headslow := head, fast := head, and prev = nullwhile fast is not null and next of ... Read More

Reorder List in C++

Arnab Chakraborty
Updated on 30-Apr-2020 09:35:15

702 Views

Suppose we have a linked list like l1 -> l2 -> l3 -> l4 -> … -> l(n-1) -> ln. We have to rearrange this list into the form l1 -> ln -> l2 -> l(n - 1) -> … and so on. Here the constraint is that, we cannot modify the values in the list nodes, only the node itself may be changed. So for example, if the list is like [1, 2, 3, 4, 5], then the output will be [1, 5, 2, 4, 3]To solve this, we will follow these steps −Define a method called reverse to ... Read More

Advertisements