Suppose we have a binary 2D array grid, here an island is a group of 1's (land) connected 4- directionally (horizontal or vertical.) We can assume all four edges of the grid are surrounded by water. We have to count the number of distinct islands.An island is considered to be the same as another when one island can be translated (and not rotated or reflected) to equal the other.So, if the input is like11011100000000111011then the output will be 3To solve this, we will follow these steps −Define a function dfs(), this will take x, y, grid, temp, c, if x ... Read More
Suppose we have a time represented in the format "HH: MM", we have to generate the next closest time by reusing the current digits. We can use the digit an unlimited number of times.So, if the input is like "19:34", then the output will be "19:39" as the next closest time choosing from digits 1, 9, 3, 4, is 19:39. It is not 19:33, because this occurs 23 hours and 59 minutes later.To solve this, we will follow these steps −Define a function eval(), this will take x, a := convert x[0] to stringa := a + x[1]b := convert ... Read More
Suppose we have a list of integers that is representing a binary tree with a depth smaller than 5. If the depth of a tree is less than 5, then this tree can be represented by a list of three-digit integers. For each integer in this list −The hundreds digit is representing the depth D of this node, 1
Suppose we have a binary tree with n nodes, our task is to check whether it's possible to partition the tree to two trees which have the equal sum of values after deleting exactly one edge on the original tree.So, if the input is likethen the output will be true.To solve this, we will follow these steps −Define one stack stDefine a function solve(), this will take node, if node is null, then −return 0leftSum := solve(left of node)rightSum := solve(right of node)curr := val + leftSum + rightSum of nodeinsert curr into streturn currFrom the main method do the ... Read More
Suppose we will try to write the letter ‘A’, using the keyboard. Our goal is to use only four keys and try to write maximum ‘A’s on the text field. The keys are ‘A’, ‘C’, ‘V’, and ‘Ctrl’.To write a maximum number of A, we will use Ctrl + A to select All, Ctrl + C to copy, and Ctrl + V to paste.So, if the input is like the number of keystrokes is 7 then the output will be 9 as of press A three times.Then Ctrl+A, Ctrl+C, Ctrl+V, Ctrl+VTo solve this, we will follow these steps −if keyStrokes ... Read More
Suppose we have some logs, that each log contains a unique id and timestamp. The Timestamp is a string that has the format: Year:Month:Day:Hour:Minute: Second, for example, 2019:01:01:23:59:59. All domains are zero-padded decimal numbers.We have to design a log storage system to implement the following functions −void Put(int id, string timestamp): This will take the log's unique id and timestamp, and it stores the log in the storage system.int[] Retrieve(String start, String end, String granularity): This will return the id of logs whose timestamps are within the range from start to end parameters. The granularity parameter indicates the time level ... Read More
Suppose we have an array consisting of n numbers from 1 to n in increasing order, we have to find the number of derangements it can generate.We know that in combinatorial mathematics, a derangement is a permutation of the elements of a set, such that no element will appear in its original position. The answer may be very large, so return the output mod 10^9 + 7.So, if the input is like 3, then the output will be 2, as the original array is [1, 2, 3]. The two derangements are [2, 3, 1] and [3, 1, 2].To solve this, ... Read More
Suppose we have a positive integer x, we have to find the smallest positive integer b whose multiplication of each digit equals to x. If we have no such answer then return 0.So, if the input is like 48, then the output will be 68To solve this, we will follow these steps −ret := 0, mul := 1if a < 2, then:return afor initialize i := 9, when i >= 2, update (decrease i by 1), do −while a mod i is same as 0, do −ret := i * mul + retmul := mul * 10a := a / ... Read More
Suppose we have n processes, here each process has a unique id called PID or process id and its PPID (parent process id) is also there.Each process only has one parent process, but may have one or more child processes.This is just like a tree structure. Only one process has the PPID = 0, which means this process has no parent process. All the PIDs will be unique positive integers.We will use two list of integers to represent a list of processes, where the first list contains PID for each process and the second list contains the corresponding PPID. So, ... Read More
There's a tree, a squirrel, and several nuts. Positions are represented by the cells in a 2D grid. Your goal is to find the minimal distance for the squirrel to collect all the nuts and put them under the tree one by one. The squirrel can only take at most one nut at one time and can move in four directions - up, down, left, and right, to the adjacent cell. The distance is represented by the number of moves.So, if the input is like Height: 5 Width: 7 Tree position: [2, 2] Squirrel: [4, 4] Nuts: [[3, 0], [2, ... Read More
Data Structure
Networking
RDBMS
Operating System
Java
iOS
HTML
CSS
Android
Python
C Programming
C++
C#
MongoDB
MySQL
Javascript
PHP