Article Categories
- All Categories
-
Data Structure
-
Networking
-
RDBMS
-
Operating System
-
Java
-
MS Excel
-
iOS
-
HTML
-
CSS
-
Android
-
Python
-
C Programming
-
C++
-
C#
-
MongoDB
-
MySQL
-
Javascript
-
PHP
Articles by Arnab Chakraborty
Page 244 of 377
Critical Connections in a Network in C++
Suppose there are n servers. And these are numbered from 0 to n-1 connected by an undirected server-to-server connections forming a network where connections[i] = [a, b] represents a connection between servers a and b. All servers are connected directly or through some other servers. Now, a critical connection is a connection that, if that is removed, it will make some server unable to reach some other server. We have to find all critical connections.So, if the input is like n = 4 and connection = [[0, 1], [1, 2], [2, 0], [1, 3]], then the output will be [[1, ...
Read MoreMake Array Strictly Increasing in C++
Suppose we have two arrays arr1 and arr2, these can store integer numbers. We have to find the minimum number of operations needed to make arr1 strictly increasing. Here, we can choose two indices 0 size of arr2, then -1, otherwise ret - 1)Let us see the following implementation to get better understanding −Example Live Demo#include using namespace std; class Solution { public: int solve(vector& arr1, vector& arr2, int i, int j, int prev, vector& dp){ if (i >= arr1.size()) return 1; j = upper_bound(arr2.begin() + j, ...
Read MoreLast Substring in Lexicographical Order in C++
Suppose we have s as string, we have to find the last substring of s in lexicographic order.So, if the input is like "abbbcabbc", then the output will be "cabbc"To solve this, we will follow these steps −i := 0, j := 1, k := 0while j + k < size of s, do &minsu;if s[i + k] is same as s[j + k], then −(increase k by 1)Ignore following part, skip to the next iterationif s[i + k] < s[j + k], then −i := j(increase j by 1)Otherwisej := j + k + 1k := 0return substring of ...
Read MoreLongest Chunked Palindrome Decomposition in python
Suppose we have a text. We have to find the largest possible k such that there exists a[1], a[2], ..., a[k] such that: Each a[i] is a non-empty string; Their concatenation a[1] + a[2] + ... + a[k] is equal to the given text; For all i in range 1 to k, a[i] = a[{k+1 - i}].So, if the input is like "antaprezatepzapreanta", then the output will be 11, because we can split it like "(a)(nt)(a)(pre)(za)(tpe)(za)(pre)(a)(nt)(a)".To solve this, we will follow these steps −start := 0, end := length of text - 1initialize temp1 and temp2 with empty stringsans = ...
Read MoreSmallest Sufficient Team in Pyhton
Suppose for a project we have a list of required skills called req_skills, and a list of people. Here i-th people people[i] contains a list of skills that person has.Now suppose a sufficient team is defined as a set of people such that for every required skill in req_skills, there is at least one person in the team who has that skill. We can represent these teams by the index of each person: As an example suppose team is [0, 1, 3] this represents the people with skills people[0], people[1], and people[3].We have to find the team of the smallest ...
Read MoreParsing A Boolean Expression in Python
Suppose we have a boolean expression, we have to find the result after evaluating that expression.An expression can either be −"t", evaluating to True;"f", evaluating to False;"!(expression)", evaluating to the logical NOT of the inner expression;"&(expr1, expr2, ...)", evaluating to the logical AND of 2 or more inner expressions;"|(expr1, expr2, ...)", evaluating to the logical OR of 2 or more inner expressions;So, if the input is like "|(!(t), &(t, f, t))", then the output will be fasle, this is because !(t) is false, then &(t, f, t) is also false, so the OR of all false values will be false.To ...
Read MoreNumber of Submatrices That Sum to Target in C++
Suppose we have a matrix, and a target value, we have to find the number of non-empty submatrices that sum is same as target. Here a submatrix [(x1, y1), (x2, y2)] is the set of all cells matrix[x][y] with x in range x1 and x2 and y in range y1 and y2. Two submatrices [(x1, y1), (x2, y2)] and [(x1', y1'), (x2', y2')] are different if they have some coordinate that is different: like, if x1 is not same as x1'.So, if the input is like010111010and target = 0, then the output will be 4, this is because four 1x1 ...
Read MoreLongest Duplicate Substring in C++
Suppose we have a string S, consider all duplicated contiguous substrings that occur 2 or more times. (The occurrences may overlap.), We have to find the duplicated substring that has the longest possible length. If there is no such substrings, then return a blank string. As the answer may very large, so return in mod 10^9 + 7.So, if the input is like "ababbaba", then the output will be "bab"To solve this, we will follow these steps −m := 1e9 + 7Define a function add(), this will take a, b, return ((a mod m) + (b mod m)) mod mDefine ...
Read MoreEscape a Large Maze Python
Suppose we have a grid, there are 1 million rows and 1 million columns, we also have one list of blocked cells. Now we will start at the source square and want to reach the target square. In each move, we can walk to a up, down, left, right adjacent square in the grid that isn't in the given list of blocked cells.We have to check whether it is possible to reach the target square through a sequence of moves or not.So, if the input is like blocked = [[0, 1], [1, 0]], source = [0, 0], target = [0, ...
Read MoreStream of Characters in C++
Suppose we want to implement the StreamChecker class as follows −StreamChecker(words) − This is the constructor, this initializes the data structure with the given words.query(letter) − This returns true when for some k >= 1, the last k characters queried (in order from oldest to newest, including this letter just queried) spell one of the words in the given list.So, if the input is like word list = ["ce", "g", "lm"], then call query many times for [a, b, c, e, f, g, h, i, j, k, l, m], then the output will be true for e, g, m, and ...
Read More