Server Side Programming Articles - Page 1849 of 2650

Longest ZigZag Path in a Binary Tree in C++

Arnab Chakraborty
Updated on 29-Apr-2020 13:18:28

928 Views

Suppose we have a binary tree root, a ZigZag path for a binary tree is defined as follow −Choose any node in the binary tree and a direction (either right or left).If the current direction is right then moving towards the right child of the current node otherwise move towards the left child.Then change the direction from right to left or vice versa.Repeat the second and third steps until we can't move in the tree.Here the Zigzag length is defined as the number of nodes visited - 1. (A single node has a length of 0). We have to find ... Read More

Find the Longest Substring Containing Vowels in Even Counts in C++

Arnab Chakraborty
Updated on 29-Apr-2020 13:12:13

374 Views

Suppose we have the string s, we have to find the size of the longest substring containing each vowel an even number of times. That is, 'a', 'e', 'i', 'o', and 'u' must appear an even number of times. So if the string is like “helloworld”, then the output will be 8.To solve this, we will follow these steps −ret := 0, define two maps m and cnt, set m[“00000”] := -1store vowels into vowels arrayfor i in range 0 to size of sx := s[i], and ok := falseincrease cnt[x] by 1, set temp := empty stringfor k in ... Read More

Linked List in Binary Tree in C++

Arnab Chakraborty
Updated on 29-Apr-2020 13:09:13

3K+ Views

Suppose we have a binary tree root and a linked list with a head as the first node. We have to return True if all the elements in the linked list starting from the head correspond to some downward path connected in the binary tree otherwise False. So if the tree is like −And the linked list is [1, 4, 2, 6], then the output will be true.To solve this, we will follow these steps −Define a map dpDefine a method called solve(), this will take head, root, and flagif the head is null, then return true, or if the ... Read More

Closest Divisors in C++

Arnab Chakraborty
Updated on 29-Apr-2020 13:00:56

425 Views

Suppose we have an integer num, we have to find the closest two integers in absolute difference whose product equals num + 1 or num + 2. We have to find the two integers in any order. So if the input is 8, then the output will be [3, 3], for num + 1, it will be 9, the closest divisors are 3 and 3, for num + 2 = 10, the closest divisors are 2 and 5, hence 3 and 3 are chosen.To solve this, we will follow these steps −Define a method called getDiv(), this will take x as inputdiff := infinity, create an array called ret of size 2for i := 1, if i^2

Validate Binary Tree Nodes in C++

Arnab Chakraborty
Updated on 29-Apr-2020 12:57:12

397 Views

Suppose we have n binary tree nodes numbered from 0 to n - 1 where node I has two children leftChild[i] and rightChild[i], we have to say true if and only if all the given nodes form exactly one valid binary tree. When node i has no left child then leftChild[i] will equal -1, similarly for the right child. We have to keep in mind that the nodes have no values and that we only use the node numbers in this problem. So if the input is like −Then the output will be true.To solve this, we will follow these ... Read More

Number of Substrings Containing All Three Characters in C++

Arnab Chakraborty
Updated on 29-Apr-2020 12:53:21

703 Views

Suppose we have given a string s consisting only of characters a, b and c. We have to return the number of substrings containing at least one occurrence of all these characters a, b and c. So for example, if the string is “abcabc”, then the output will be 10, as the substring containing at least one occurrence of the characters a, b and c, these are “abc”, “abca”, “abcab”, “abcabc”, “bca”, “bcab”, “cab”, “cabc” and “abc” (again for the last part).To solve this, we will follow these steps −ret := 0, make a map called m, set j := ... Read More

Apply Discount Every n Orders in C++

Arnab Chakraborty
Updated on 29-Apr-2020 12:49:55

343 Views

Suppose there is a sale in a supermarket, there will be a discount every n customer. Consider there are some products in the supermarket where the id of the i-th product is products[i] and the price per unit of this product is prices[i]. Here the system will count the number of customers and when the n-th customer arrives he/she will have a discount on the bill. Then the system will start counting customers again. The customer orders a certain amount of each product where product[i] is the id of the i-th product the customer ordered and amount[i] is the number ... Read More

Maximum Number of Events That Can Be Attended in C++

Arnab Chakraborty
Updated on 29-Apr-2020 12:45:51

864 Views

Suppose we have an array of events where events[i] = [startDayi, endDayi]. Here every event I start at startDayi and ends at endDayi. We can attend an event I at any day d where d in range startTimei and endTimei (both inclusive). We have to keep in mind that we can only attend one event at any time. So find the maximum number of events we can attend. So for example, if the input is like [[1, 4], [4, 4], [2, 2], [3, 4], [1, 1]], then the output will be 1, as we can attend maximum of four events, ... Read More

Product of the Last K Numbers in C++

Arnab Chakraborty
Updated on 29-Apr-2020 12:42:02

364 Views

Suppose we have the implement the class called ProductOfNumbers that supports two methods −add(int num): This adds the number num to the back of the current list of numbers.getProduct(int k): This returns the product of the last k numbers in the current list.We can assume that always the current list has at least k numbers. So for example, if the input is like − add(3), add(0), add(2), add(5), add(4), getProduct(2), getProduct(3), getProduct(4), add(8), getProduct(2), then the output will be (after each function call) −[3], [3, 0], [3, 0, 2], [3, 0, 2, 5], [3, 0, 2, 5, 4], then (5 ... Read More

Minimum Number of Steps to Make Two Strings Anagram in C++

Arnab Chakraborty
Updated on 29-Apr-2020 12:37:48

282 Views

Suppose we have two equal-size strings s and t. In one step we can choose any character of t and replace it with another character. We have to find the minimum number of steps required to make t an anagram of s. Note: An Anagram of a string is a string that contains the same characters with a different (or the same) ordering.So if the input is like - “yxy” and “xyx”, then the output will be 1, as only one character is needed to be replaced.To solve this, we will follow these steps −n := size of characters in ... Read More

Advertisements