Find Minimum S-T Cut in a Flow Network in C++

Arnab Chakraborty
Updated on 25-Aug-2020 12:16:47

371 Views

Suppose we have following flow network. As we know an s-t cut is a cut that requires the source s node and a sink t node to be in different subsets, and it includes edges going from the source set to the sink side. Here the capacity of an s-t cut is represented by the sum of each edge capacity in the cut-set. Here we have to find minimum capacity s-t cut of the given network. Here the expected output is all edges of the minimum cut.So, if the input is likethen the output will be [(1, 3), (4, 3), ... Read More

Find Pair for Given Sum in a Sorted Singly Linked List in C++

Arnab Chakraborty
Updated on 25-Aug-2020 12:11:04

182 Views

Suppose we have a singly linked list and a value x; we have to find a pair whose sum is same as x. We have to keep in mind that we cannot use any extra space and expected time complexity will be O(n).So, if the input is like 4→7→8→9→10→11→12, x = 19, then the output will be [(7, 12), (8, 11), (9, 10)]To solve this, we will follow these steps −Define a function convert_to_xor(), this will take start, prev := NULLwhile start is NULL, do −next_list_node := next of startnext of start := XOR of the address of next_list_node and ... Read More

Find Pair of Rows in a Binary Matrix with Maximum Bit Difference in C++

Arnab Chakraborty
Updated on 25-Aug-2020 12:06:43

196 Views

Suppose we have a binary matrix; we have to find the pair of rows in the given matrix that has maximum bit difference.So, if the input is like matrix, then the output will be [2, 3] as bit difference between rows 2 and row 3 is 4, this is maximum.To solve this, we will follow these steps −Define Trie structure, with value and two children.Define a function get_max_bit_diff(), this will take root of a trie, matrix, n, row_index, temp := root, count := 0for initialize i := 0, when i < n, update (increase i by 1), do−if child[ matrix[row_index, ... Read More

Find Four Factors of N with Maximum Product and Sum Equal to N in Python

Arnab Chakraborty
Updated on 25-Aug-2020 12:05:51

155 Views

Suppose we have a number N, we have to find all factors of N and return the product of four factors of N such that: The sum of the four factors is same as N. The product of the four factors is maximum. All four factors can be equal to each other to maximize the product.So, if the input is like N = 60, then the output will be All the factors are -> 1 2 3 4 5 6 10 12 15 20 30 60 and product is 50625, as we 15 has been selected four times to make ... Read More

Find Pairs with Given Product in a Sorted Doubly Linked List in Python

Arnab Chakraborty
Updated on 25-Aug-2020 11:57:03

173 Views

Suppose we have a sorted doubly linked list of unique positive numbers; we have to find pairs in the doubly linked list whose product is same as a given value x. We have to keep in mind that, this will be solved without consuming any extra space.So, if the input is like L = 1 ⇔ 2 ⇔ 4 ⇔ 5 ⇔ 6 ⇔ 8 ⇔ 9 and x = 8, then the output will be (1, 8), (2, 4)To solve this, we will follow these steps −curr := head, nxt := headwhile nxt.next is not None is non-zero, donxt ... Read More

Find Original Numbers from GCD of Every Pair in Python

Arnab Chakraborty
Updated on 25-Aug-2020 11:53:03

214 Views

Suppose we have an array A where GCD of every possible pair of elements of another array is given, we have to find the original numbers which are used to compute the given GCD array.So, if the input is like A = [6, 1, 1, 13], then the output will be [13, 6] as gcd(13, 13) is 13, gcd(13, 6) is 1, gcd(6, 13) is 1, gcd(6, 6) is 6To solve this, we will follow these steps −n := size of Asort array A in descending orderoccurrence := an array of size A[0] and fill with 0for i in range ... Read More

Find Nth Term of a Given Recurrence Relation in Python

Arnab Chakraborty
Updated on 25-Aug-2020 11:50:13

695 Views

Suppose we have a sequence of numbers called bn, this is represented using a recurrence relation like b1=1 and bn+1/bn=2n . We have to find the value of log2(bn) for a given n.So, if the input is like 6, then the output will be 5 as log2(bn) = (n * (n - 1)) / 2 = (6*(6-1))/2 = 15We can solve this problem by solving this relation as follows −bn+1/bn = 2nbn/bn-1 = 2n-1…b2/b1 = 21 , If we multiply all of above, we can get(bn+1/bn).(bn/bn-1)……(b2/b1) = 2n + (n-1)+……….+1So, bn+1/b1 = 2n(n+1)/2As 1 + 2 + 3 + ………. ... Read More

Find N-th Lexicographically Permutation of a String in Python

Arnab Chakraborty
Updated on 25-Aug-2020 11:47:23

302 Views

Suppose we have a string whose length is m, and this string is containing only lowercase letters, we have to find the n-th permutation of string lexicographically.So, if the input is like string = "pqr", n = 3, then the output will be "qpr" as all permutations are [pqr, prq, qpr, qrp, rpq, rqp], they are in sorted order.To solve this, we will follow these steps −MAX_CHAR := 26MAX_FACT := 20factorials := an array of size MAX_FACTfactorials[0] := 1for i in range 1 to MAX_FACT, dofactorials[i] := factorials[i - 1] * isize := size of stringoccurrence := an array of ... Read More

Find N Distinct Numbers Whose Bitwise OR is Equal to K in Python

Arnab Chakraborty
Updated on 25-Aug-2020 11:43:59

167 Views

Suppose we have two integers N and K; we have to find N unique values whose bit-wise OR is same as K. If there is no such result, then return -1So, if the input is like N = 4 and K = 6, then the output will be [6, 0, 1, 2].To solve this, we will follow these steps −MAX := 32visited := a list of size MAX and fill with Falseres := a new listDefine a function add() . This will take numpoint := 0value := 0for i in range 0 to MAX, doif visited[i] is non-zero, thengo for ... Read More

Find Missing Element in a Sorted Array of Consecutive Numbers in Python

Arnab Chakraborty
Updated on 25-Aug-2020 11:40:46

585 Views

Suppose we have an array A of n unique numbers, these n elements are present in the array in ascending order, but there is one missing element. We have to find the missing element.So, if the input is like A = [1, 2, 3, 4, 5, 6, 7, 9], then the output will be 8.To solve this, we will follow these steps −n := size of Aleft := 0right := n - 1mid := 0while right > left , domid := left +(right - left) / 2if A[mid] - mid is same as A[0], thenif A[mid + 1] - A[mid] ... Read More

Advertisements