Arnab Chakraborty

Arnab Chakraborty

3,768 Articles Published

Articles by Arnab Chakraborty

Page 244 of 377

Critical Connections in a Network in C++

Arnab Chakraborty
Arnab Chakraborty
Updated on 04-Jun-2020 551 Views

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 More

Make Array Strictly Increasing in C++

Arnab Chakraborty
Arnab Chakraborty
Updated on 04-Jun-2020 456 Views

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 More

Last Substring in Lexicographical Order in C++

Arnab Chakraborty
Arnab Chakraborty
Updated on 04-Jun-2020 350 Views

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 More

Longest Chunked Palindrome Decomposition in python

Arnab Chakraborty
Arnab Chakraborty
Updated on 04-Jun-2020 365 Views

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 More

Smallest Sufficient Team in Pyhton

Arnab Chakraborty
Arnab Chakraborty
Updated on 04-Jun-2020 373 Views

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 More

Parsing A Boolean Expression in Python

Arnab Chakraborty
Arnab Chakraborty
Updated on 04-Jun-2020 1K+ Views

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 More

Number of Submatrices That Sum to Target in C++

Arnab Chakraborty
Arnab Chakraborty
Updated on 04-Jun-2020 272 Views

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 More

Longest Duplicate Substring in C++

Arnab Chakraborty
Arnab Chakraborty
Updated on 04-Jun-2020 707 Views

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 More

Escape a Large Maze Python

Arnab Chakraborty
Arnab Chakraborty
Updated on 04-Jun-2020 495 Views

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 More

Stream of Characters in C++

Arnab Chakraborty
Arnab Chakraborty
Updated on 04-Jun-2020 653 Views

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
Showing 2431–2440 of 3,768 articles
« Prev 1 242 243 244 245 246 377 Next »
Advertisements