Remove Covered Intervals in C++

Arnab Chakraborty
Updated on 30-Apr-2020 10:51:38

335 Views

Suppose we have a list of intervals, we have to remove all intervals that are covered by another interval in the list. Here Interval [a,b) is covered by interval [c,d) if and only if c

Broken Calculator in Python

Arnab Chakraborty
Updated on 30-Apr-2020 10:51:35

385 Views

Suppose we have a broken calculator that has a number showing on its display, we can perform only two operations −Double − This will multiply the number on the display by 2, or;Decrement − This will decrease the number that is showing, by 1, Initially, the calculator is displaying the number X. We have to find the minimum number of operations needed to display the number Y.So if the input is like X = 5 and Y is 8, then the output will be 2, as decrement, it once, then double itTo solve this, we will follow these steps −res ... Read More

Spiral Matrix III in C++

Arnab Chakraborty
Updated on 30-Apr-2020 10:50:56

446 Views

Suppose we have a 2 dimensional grid with R rows and C columns, we start from (r0, c0) facing east. Here, the north-west corner of the grid is at the first row and column, and the south-east corner of the grid is at the last row and column. We will walk in a clockwise spiral shape to visit every position in this grid. When we are at the outside the boundary of the grid, we continue our walk outside the grid (but may return to the grid boundary later.). We have to find a list of coordinates representing the positions ... Read More

Complete Binary Tree Inserter in C++

Arnab Chakraborty
Updated on 30-Apr-2020 10:50:52

1K+ Views

As we know a complete binary tree is a binary tree in which every level, except possibly the last, is completely filled, and all nodes are as far left as possible. We have to write a data structure CBTInserter that is initialized with a complete binary tree and it supports the following operations−CBTInserter(TreeNode root) this initializes the data structure on a given tree with head node root;CBTInserter.insert(int v) will used to insert a TreeNode into the tree with a value node.val = v so that the tree remains complete, and returns the value of the parent of the inserted TreeNode;CBTInserter.get_root() ... Read More

Iterator for Combination in C++

Arnab Chakraborty
Updated on 30-Apr-2020 10:49:00

609 Views

Suppose we have to design an Iterator class, that consists of few operations −Define a constructor that takes a string characters of sorted distinct lowercase English letters and a number combinationLength as parameter.Define a function next() that returns the next combination of length combinationLength in alphabetic order.Define another function hasNext() that returns True if and only if there exists a next combination.So if the input is like −CombinationIterator iterator = new CombinationIterator("xyz", 2); iterator.next(); // returns "xy" iterator.hasNext(); // returns true iterator.next(); // returns "xz" iterator.hasNext(); // returns true iterator.next(); // returns "yz" iterator.hasNext(); // returns falseTo solve this, we ... Read More

Boats to Save People in C++

Arnab Chakraborty
Updated on 30-Apr-2020 10:45:23

727 Views

Suppose we have an array called people. Now the i-th person has weight people[i], and each boat can carry a maximum weight of limit. If each boat carries at most 2 people at the same time, provided the sum of the weight of those people is at most limit. We have to find the minimum number of boats to carry every given person. So if the input is like [3,2,1,2], and limit is 3, then we need three boats. [(1,2), (2), (3)].To solve this, we will follow these steps −sort the people arrayi := 0, j := size of people array – 1, ret := 0while i

Stone Game in C++

Arnab Chakraborty
Updated on 30-Apr-2020 10:41:58

601 Views

Suppose we have two players Alex and Lee they play a game with piles of stones. There are an even number of piles that are arranged in a row, and each pile has some number of stones piles[i]. The objective of the game is to end with the most stones. When the total number of stones is odd, there are no ties. Alex and Lee take turns, with Alex starting first. In each turn, a player takes the entire pile of stones from either the beginning or the end of the row. This will be continued until there are no ... Read More

Koko Eating Bananas in C++

Arnab Chakraborty
Updated on 30-Apr-2020 10:36:31

488 Views

Suppose we have N piles of bananas, the i-th pile has piles[i] bananas. Here the guards have gone and will come back in H hours. Koko can decide her bananas-per-hour eating speed is K. Each hour, she takes some pile of bananas, and eats K bananas from that pile. If the pile has less than K bananas, then she consumes all of them instead, and won't eat any more bananas during this hour. Consider Koko likes to eat slowly, but still wants to finish eating all the bananas before the guards come back. We have to find the minimum integer ... Read More

Sum of Subarray Minimums in C++

Arnab Chakraborty
Updated on 30-Apr-2020 10:35:55

289 Views

Suppose we have an array of integers A. We have to find the sum of min(B), where B ranges over every (contiguous) subarray of A. Since the answer may be very large, then return the answer in modulo 10^9 + 7. So if the input is like [3, 1, 2, 4], then the output will be 17, because the subarrays are [3], [1], [2], [4], [3, 1], [1, 2], [2, 4], [3, 1, 2], [1, 2, 4], [3, 1, 2, 4], so minimums are [3, 1, 2, 4, 1, 1, 2, 1, 1, 1], and the sum is 17.To solve ... Read More

All Possible Full Binary Trees in C++

Arnab Chakraborty
Updated on 30-Apr-2020 10:34:58

369 Views

Suppose a full binary tree is a binary tree where each node has exactly 0 or 2 children. So we have to find a list of all possible full binary trees with N nodes. Each node of each tree in the answer must have node.val = 0. The returned trees can be in any order. So if the input is 7, then the trees are −To solve this, we will follow these steps −Define a map m of integer type key and tree type value.define a method called allPossibleFBT(), this will take N as inputis N is 1, then create ... Read More

Advertisements