Suppose we have a number n, and there are n switches in a room, and all switches are off. Now n people who flip switches as follows −Person 1 flips all switches that are multiples of 1 (so all of the switches).Person 2 flips switches that are multiples of 2 (2, 4, 6, ...)Person i flips switches that are multiples of i.We have to find the number of switches that will be on at the end.So, if the input is like n = 5, then the output will be 2, as initially all are off [0, 0, 0, 0, 0], ... Read More
Suppose we have a binary matrix. Where 1 represents land and 0 represents water. As we know an island is a group of 1s that are grouped together whose perimeter is surrounded by water. We have to find the number of completely surrounded islands.So, if the input is likethen the output will be 2, as there are three islands, but two of them are completely surrounded.To solve this, we will follow these steps −Define a function dfs() . This will take i, jif i and j are not in range of matrix, thenreturn Falseif matrix[i, j] is same as 0, ... Read More
Suppose we have a binary tree where each node is containing a single digit from 0 to 9. Now each path from the root to the leaf represents a number with its digits in order. We have to find the sum of numbers represented by all paths in the tree.So, if the input is likethen the output will be 680 as 46 (4 → 6), 432 (4 → 3 → 2), 435 (4 → 3 → 5), and their sum is 913.To solve this, we will follow these steps −Define a function solve() . This will take root, string:= blank ... Read More
Suppose we have a list of words and a string s, we have to find the number of strings in the words list that are subsequences of s.So, if the input is like words = ["xz", "xw", "y"] s = "xyz", then the output will be 2, as "xz" and "y" are subsequences of "xyz".To solve this, we will follow these steps −ans := 0d := an empty mapfor each word in words, doinsert word at the end of d[word[0]]for each c in s, dol := d[c]d[c] := a new listfor each word in l, doif size of word is ... Read More
Suppose we have two strings source and target, we have to find the minimum number of subsequences of source we can form such that if we concatenate them, it will be same as target. If there is no such result, return -1.So, if the input is like source = "xyz" target = "xyzyzz", then the output will be 3, as we can concatenate these ["xyz" + "yz" + "z"]To solve this, we will follow these steps −s_size := size of s, t_size := size of tconcat_count := 0, target_idx := 0while target_idx < t_size, dosource_idx := 0temp_index := target_idxwhile source_idx ... Read More
Suppose we have a list of numbers called nums where each number represents a vote to a candidate. We have to find the ids of the candidates that have greater than floor(n/3) votes, in non-decreasing order.So, if the input is like nums = [3, 2, 6, 6, 6, 6, 7, 7, 7, 7, 7], then the output will be [6, 7], as 6 and 7 have 40% of the votes.To solve this, we will follow these steps −ans := a new empty setsort the list numsi := 0n := size of numswhile i < size of nums, doif occurrences of ... Read More
Suppose we have a list of strings where each string contains two letters "A"s and "B"s. We have two values a and b. We have to find the maximum number of strings that can be formed. We can use at most a number of "A"s and at most b number of "B"s, without reuse.So, if the input is like strings = ["AAABB", "AABB", "AA", "BB"] a = 4 b = 2, then the output will be 2, as we can take the strings using 4 "A"s and 2 "B"s ["AABB", "AA"].To solve this, we will follow these steps −pairs := ... Read More
Suppose we have a number n we have to find the number of stepping numbers of n digit. As we know a number is called stepping number when all adjacent digits have an absolute difference of 1. So if a number is 123, this is stepping number but 124 is not. If the answer is very large then return result mod 10^9 + 7.So, if the input is like n = 2, then the output will be 17, as the stepping numbers are [12, 23, 34, 45, 56, 67, 78, 89, 98, 87, 76, 65, 54, 43, 32, 21, 10]To ... Read More
Suppose we have a list of numbers representing the position of a car at equally spaced intervals of time. We have to find the size of the longest sublist where the car was traveling at a constant speed.So, if the input is like positions = [0, 4, 8, 12, 6, 4, 0], then the output will be 4, as the sublist is [0, 4, 8, 12].To solve this, we will follow these steps −j := 1max_cnt := 0, current := 0distance := |positions[0] - positions[1]|while j < size of positions, doprev := positions[j - 1]if distance is same as |positions[j] ... Read More
Suppose we have a list of numbers called pushes, and another list of numbers called pops, we have to check whether this is a valid sequence of stack push and pop actions or not.So, if the input is like pushes = [1, 2, 5, 7, 9] pops = [2, 1, 9, 7, 5], then the output will be True, as we can push [1, 2] first then pop them both. Then push [5, 7, 9] and pop them all.To solve this, we will follow these steps −s := a new stacki := 0for each ele in pushes, dopush ele into ... Read More
Data Structure
Networking
RDBMS
Operating System
Java
iOS
HTML
CSS
Android
Python
C Programming
C++
C#
MongoDB
MySQL
Javascript
PHP