# Find the length of the longest subsequence with first K alphabets having same frequency

Given a string **str** with uppercase characters and an integer **K**, the task is to find the length of the longest subsequence such that the frequency of first **K** alphabets is same.

**Examples:**

Input:str = “ACAABCCAB”, K=3

Output:6

Explanation:One of the possible subsequences is “ACABCB”.

Input:str = “ACAABCCAB”, K=4

Output:0

Explanation:Since, the string does not contain ‘D’, no such subsequence can be obtained.

**Approach:**

Traverse the string and find the least frequent of the first **K** alphabets. Once found, **(frequency of that element) * K **gives the desired result.

Below is the implementation of the above approach:

## C++

`// C++ program to find the longest ` `// subsequence with first K ` `// alphabets having same frequency ` ` ` `#include <bits/stdc++.h> ` `using` `namespace` `std; ` ` ` `// Function to return the ` `// length of the longest ` `// subsequence with first K ` `// alphabets having same frequency ` `int` `lengthOfSubsequence(string str, ` ` ` `int` `K) ` `{ ` ` ` `// Map to store frequency ` ` ` `// of all characters in ` ` ` `// the string ` ` ` `map<` `char` `,` `int` `> mp; ` ` ` `for` `(` `char` `ch : str) { ` ` ` `mp[ch]++; ` ` ` `} ` ` ` ` ` `// Variable to store the ` ` ` `// frequency of the least ` ` ` `// frequent of first K ` ` ` `// alphabets ` ` ` `int` `minimum = mp[` `'A'` `]; ` ` ` `for` `(` `int` `i = 1; i < K; i++) { ` ` ` `minimum = min(minimum, ` ` ` `mp[(` `char` `)(i + ` `'A'` `)]); ` ` ` `} ` ` ` ` ` `return` `minimum * K; ` `} ` ` ` `int` `main() ` `{ ` ` ` `string str = ` `"ACAABCCAB"` `; ` ` ` `int` `K=3; ` ` ` ` ` `cout << lengthOfSubsequence(str, K); ` ` ` `return` `0; ` `} ` |

*chevron_right*

*filter_none*

## Python3

`# Python3 program to find the longest ` `# subsequence with first K alphabets ` `# having same frequency ` `from` `collections ` `import` `defaultdict ` ` ` `# Function to return the ` `# length of the longest ` `# subsequence with first K ` `# alphabets having same frequency ` `def` `lengthOfSubsequence(st, K): ` ` ` ` ` `# Map to store frequency ` ` ` `# of all characters in ` ` ` `# the string ` ` ` `mp ` `=` `defaultdict(` `int` `) ` ` ` `for` `ch ` `in` `st: ` ` ` `mp[ch] ` `+` `=` `1` ` ` ` ` `# Variable to store the ` ` ` `# frequency of the least ` ` ` `# frequent of first K ` ` ` `# alphabets ` ` ` `minimum ` `=` `mp[` `'A'` `] ` ` ` ` ` `for` `i ` `in` `range` `(` `1` `, K): ` ` ` `minimum ` `=` `min` `(minimum, ` ` ` `mp[` `chr` `(i ` `+` `ord` `(` `'A'` `))]) ` ` ` ` ` `return` `(minimum ` `*` `K) ` ` ` `# Driver code ` `if` `__name__ ` `=` `=` `"__main__"` `: ` ` ` ` ` `st ` `=` `"ACAABCCAB"` ` ` `K ` `=` `3` ` ` ` ` `print` `(lengthOfSubsequence(st, K)) ` ` ` `# This code is contributed by chitranayal ` |

*chevron_right*

*filter_none*

**Output:**

6

## Recommended Posts:

- Length of longest Palindromic Subsequence of even length with no two adjacent characters same
- Find length of longest subsequence of one string which is substring of another string
- Length of Longest Balanced Subsequence
- Length of Longest Prime Subsequence in an Array
- Length of longest common subsequence containing vowels
- Length of longest increasing index dividing subsequence
- Length of longest subsequence of Fibonacci Numbers in an Array
- Length of the longest subsequence such that xor of adjacent elements is non-decreasing
- Length of longest Powerful number subsequence in an Array
- Length of Longest Perfect number Subsequence in an Array
- Longest Increasing Subsequence using Longest Common Subsequence Algorithm
- Find the longest subsequence of an array having LCM at most K
- Maximum length prefix such that frequency of each character is atmost number of characters with minimum frequency
- Find the Increasing subsequence of length three with maximum product
- Find length of longest substring with at most K normal characters
- Maximum length subsequence such that adjacent elements in the subsequence have a common factor
- Longest substring of vowels with no two adjacent alphabets same
- Longest subsequence such that every element in the subsequence is formed by multiplying previous element with a prime
- Frequency of maximum occurring subsequence in given string
- Longest sub-string having frequency of each character less than equal to k

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.