Python Articles

Page 589 of 855

Program to find length of longest substring which contains k distinct characters in Python

Arnab Chakraborty
Arnab Chakraborty
Updated on 25-Mar-2026 825 Views

Finding the length of the longest substring with at most k distinct characters is a classic sliding window problem. We use two pointers to maintain a valid window and a hash map to track character frequencies. Problem Understanding Given a string s and number k, we need to find the maximum length of any substring that contains at most k distinct characters. For example, if k = 3 and s = "kolkata", the longest substrings with at most 3 distinct characters are "kolk" and "kata", both having length 4. Algorithm Steps We use the sliding ...

Read More

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

Arnab Chakraborty
Arnab Chakraborty
Updated on 25-Mar-2026 1K+ Views

Finding the longest path in a Directed Acyclic Graph (DAG) without repeated nodes is a classic dynamic programming problem. Since the graph has no cycles, we can use memoization with depth-first search to efficiently compute the longest path from any starting node. Problem Understanding Given a DAG represented as an adjacency list, we need to find the length of the longest simple path (without repeated nodes). The example graph below shows nodes 0-4 with the longest path being 0 → 1 → 3 → 4 → 2 with length 4. ...

Read More

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

Arnab Chakraborty
Arnab Chakraborty
Updated on 25-Mar-2026 255 Views

When working with binary trees, we sometimes need to find the longest path where the sum of all node values is an even number. This problem requires tracking paths with even and odd sums separately using dynamic programming. Problem Understanding Given a binary tree, we need to find the length of the longest path whose sum is even. For example, in a tree with path [5, 2, 4, 8, 5], the sum is 24 (even) and the path length is 5. 2 5 ...

Read More

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

Arnab Chakraborty
Arnab Chakraborty
Updated on 25-Mar-2026 748 Views

The longest common subsequence (LCS) problem for three strings finds the maximum length of characters that appear in the same relative order across all three strings. This is an extension of the classic two-string LCS problem using dynamic programming. 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". Algorithm Steps To solve this, we will follow these steps − m := size of s1, n := size of s2, o := size of s3 dp := ...

Read More

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

Arnab Chakraborty
Arnab Chakraborty
Updated on 25-Mar-2026 431 Views

An arithmetic subsequence is a sequence where the difference between consecutive elements is constant. Given a list of numbers, we need to find the length of the longest arithmetic subsequence that can be formed. For example, if we have nums = [1, 4, 7, 10, 13, 20, 16], the longest arithmetic subsequence is [1, 4, 7, 10, 13, 16] with length 6, where each consecutive difference is 3. Algorithm Approach We use dynamic programming with a dictionary to store subsequence lengths. For each pair of elements, we calculate their difference and track the longest subsequence ending at ...

Read More

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

Arnab Chakraborty
Arnab Chakraborty
Updated on 25-Mar-2026 450 Views

Suppose we have a list of numbers called nums that is sorted in non-decreasing order. We need to check whether it can be split into subsequences where each subsequence has a minimum length of 3 and contains consecutively increasing numbers. 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 into [2, 3, 4] and [4, 5, 6, 7]. Algorithm Approach To solve this problem, we will follow these steps − counts − A ...

Read More

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

Arnab Chakraborty
Arnab Chakraborty
Updated on 25-Mar-2026 250 Views

Sometimes we need to split a list into sublists where each sublist is strictly increasing and has a minimum size. This problem asks us to determine if such a split is possible for a given list and minimum size k. The key insight is that duplicate elements cannot be in the same strictly increasing sublist. If we have too many duplicates, we might not be able to form enough sublists of the required minimum size. Algorithm To solve this problem, we follow these steps ? Count the frequency of each element in the list Find ...

Read More

Program to find largest sum of 3 non-overlapping sublists of same sum in Python

Arnab Chakraborty
Arnab Chakraborty
Updated on 25-Mar-2026 210 Views

Finding the largest sum of three non-overlapping sublists of the same size is a dynamic programming problem. We need to efficiently calculate sublist sums and track the maximum possible combinations. So, if the input is like nums = [2, 2, 2, -6, 4, 4, 4, -8, 3, 3, 3] k = 3, then the output will be 27, as we can select the sublists [2, 2, 2], [4, 4, 4], and [3, 3, 3], total sum is 27. Algorithm Steps To solve this, we will follow these steps − Create prefix ...

Read More

Program to find largest binary search subtree from a given tree in Python

Arnab Chakraborty
Arnab Chakraborty
Updated on 25-Mar-2026 226 Views

A binary tree may contain subtrees that are valid binary search trees (BST). We need to find the largest subtree (with maximum number of nodes) that forms a valid BST from the given binary tree. So, if the input is like ? 12 3 5 4 6 ...

Read More

Program to find number of ways we can reach from top left point to bottom right point in Python

Arnab Chakraborty
Arnab Chakraborty
Updated on 25-Mar-2026 467 Views

Suppose we have an N x M binary matrix where 0 represents an empty cell and 1 represents a blocked cell. Starting from the top-left corner, we need to find the number of ways to reach the bottom-right corner. We can only move right or down. So, if the input matrix is ? 001 000 110 Then the output will be 2, as there are two valid paths: [Right, Down, Right, Down] and [Down, Right, Right, Down]. Algorithm We use dynamic programming to solve this problem. The approach involves ? ...

Read More
Showing 5881–5890 of 8,546 articles
« Prev 1 587 588 589 590 591 855 Next »
Advertisements