Found 33676 Articles for Programming

Program to find longest prefix that is also a suffix in C++

Arnab Chakraborty
Updated on 15-Dec-2020 12:33:08

543 Views

Suppose we have a string s, we have to find the longest prefix of s, which is also a suffix (excluding itself). If there is no such prefix, then simply return blank string.So, if the input is like "madam", then the output will be "m", it has 4 prefixes excluding itself. These are "m", "ma", "mad", "mada" and 4 suffixes like "m", "am", "dam", "adam". The largest prefix which is also suffix is given by "m".To solve this, we will follow these steps −Define a function lps(), this will take s, n := size of sDefine an array ret of ... Read More

Program to find length of the longest path in a DAG without repeated nodes in Python

Arnab Chakraborty
Updated on 12-Dec-2020 10:47:33

1K+ Views

Suppose we have one directed acyclic graph represented by the adjacency list. We have to find the longest path in the graph without node repetition.So, if the input is likethen the output will be 4, as the path is 0 -> 1 -> 3 -> 4 -> 2 with length 4.To solve this, we will follow these steps −ans := 0n := node count of graphtable := a list of size n and fill with -1Define a function dfs() . This will take uif table[u] is not -1, thenreturn table[u]p_len := 0for each vectex v in graph[u], dop_len := maximum ... Read More

Program to find length of longest palindromic subsequence in Python

Arnab Chakraborty
Updated on 12-Dec-2020 10:45:08

850 Views

Suppose we have a lowercase string s; we have to find the length of the longest palindromic subsequence in s.So, if the input is like s = "aolpeuvekyl", then the output will be 5, as the palindrome is "level".To solve this, we will follow these steps −n := size of sDefine a function dp() . This will take i, jif i is same as j, thenreturn 1otherwise when i > j, thenreturn 0otherwise, if s[i] is same as s[j], thenreturn 2 + dp(i + 1, j - 1)otherwise, return maximum of dp(i + 1, j) and dp(i, j - 1)return ... Read More

Program to length of longest increasing path in a given matrix in Python

Arnab Chakraborty
Updated on 12-Dec-2020 10:45:43

163 Views

Suppose we have a 2D matrix, we have to find the length of the longest strictly increasing path. To traverse the path we can move up, down, left, or right nor diagonally.So, if the input is like246157339then the output will be 6, as The longest path is [1, 2, 4, 6, 7, 9]To solve this, we will follow these steps −n := row count of matrix , m := column count of matrix moves := a list of pairs to move up, down, left and right [[1, 0], [-1, 0], [0, 1], [0, -1]] Define a function dp() . This ... Read More

Program to find length of longest path with even sum in Python

Arnab Chakraborty
Updated on 12-Dec-2020 10:39:35

198 Views

Suppose we have a binary tree. we have to find the length of the longest path whose sum is an even number.So, if the input is like image, then the output will be 5, as the path is like [5, 2, 4, 8, 5], sum = 24(even).To solve this, we will follow these steps −Define a function dfs() . This will take nodeif node is null, thenreturn a pair (0, -inf)(left_0, left_1) := dfs(left of node)(right_0, right_1) := dfs(right of node)if value of node is odd, thenans := maximum of ans, (left_1 + right_0 + 1) and (left_0 + right_1 ... Read More

Program to find length of longest common subsequence of three strings in Python

Arnab Chakraborty
Updated on 12-Dec-2020 10:36:12

685 Views

Suppose we have three strings s1, s2, and s3, we have to find the length of their longest common subsequence.So, if the input is like s1 = "ababchemxde" s2 = "pyakcimde" s3 = "oauctime", then the output will be 4, as the longest common subsequence is "acme".To solve this, we will follow these steps −m := size of s1, n := size of s2, o := size of s3dp := a 3D matrix of size (o + 1) x (n + 1) x (m + 1)for i in range 1 to m, dofor j in range 1 to n, dofor ... Read More

Program to find length of longest arithmetic subsequence of a given list in Python

Arnab Chakraborty
Updated on 12-Dec-2020 10:34:52

366 Views

Suppose we have a list of numbers called nums, we have to find the length of the longest arithmetic subsequence. As we know a sequence S[i] is an arithmetic sequence when S[i+1] - S[i] have the same value for every i in range (0 ≤ i < Size of S - 1).So, if the input is like nums = [1, 4, 7, 10, 13, 20, 16], then the output will be 6, the subsequence [1, 4, 7, 10, 13, 16] is an arithmetic because the difference between each consecutive element is 3.To solve this, we will follow these steps −n := size of arrif n

Program to find length of longest alternating subsequence from a given list in Python

Arnab Chakraborty
Updated on 12-Dec-2020 10:32:00

484 Views

Suppose we have a list of numbers called nums, we have to find the size of the longest subsequence where the difference between two consecutive numbers alternate between positive and negative. And the first difference may be either positive or negative.So, if the input is like nums = [6, 10, 4, 2, 3, 9, 4, 7], then the output will be 6, as on possible required subsequence is [6, 10, 2, 9, 4, 7] and the differences are [4, -8, 7, -5, 3].To solve this, we will follow these steps &minuS;n := size of numsdp := a list of size ... Read More

Program to check whether we can split list into consecutive increasing sublists or not in Python

Arnab Chakraborty
Updated on 12-Dec-2020 10:30:32

386 Views

Suppose we have a list of numbers called nums and that is sorted in non-decreasing order, we have to check whether it can be split into any number of subsequences such that each subsequence has at minimum length of 3 and that is consecutively increasing.So, if the input is like nums = [2, 3, 4, 4, 5, 6, 7], then the output will be True, as we can split the list to [2, 3, 4] and [4, 5, 6, 7].To solve this, we will follow these steps −counts := A map that contains elements of nums and its countsstarts := ... Read More

Program to split lists into strictly increasing sublists of size greater than k in Python

Arnab Chakraborty
Updated on 12-Dec-2020 10:27:46

193 Views

Suppose we have a list of numbers called nums, and another value k, we have to check whether it is possible to split the list into sublists lists such that each sublist has length ≥ k and that is strictly increasing. The list does not need to be split contiguously.So, if the input is like nums = [6, 7, 5, 10, 13] k = 2, then the output will be True, as the split is [5, 6] and [7, 10, 13].To solve this, we will follow these steps −c := A map that contains elements of nums and its countsmax_count := maximum of all frequencies of creturn True when max_count * k

Advertisements