VOOZH about

URL: https://www.geeksforgeeks.org/dsa/maximum-number-of-removals-of-given-subsequence-from-a-string/

⇱ Maximum number of removals of given subsequence from a string - GeeksforGeeks


  • Courses
  • Tutorials
  • Interview Prep

Maximum number of removals of given subsequence from a string

Last Updated : 3 Oct, 2022

Given string str, the task is to count the maximum number of possible operations that can be performed on str. An operation consists of taking a sub-sequence 'gks' from the string and removing it from the string.

Examples: 

Input: str = "ggkssk"
Output: 1
Explanation: After 1st operation: str = "gsk"
No further operation can be performed.

Input: str = "kgs"
Output: 0

Approach:  

  1. Take three variables g, gk, and gks which will store the occurrence of the sub-sequences 'g', 'gk', and 'gks' respectively.
  2. Traverse the string character by character: 
    • If str[i] = 'g' then update g = g + 1.
    • If str[i] = 'k' and g > 0 then update g = g - 1 and gk = gk + 1 as previously found 'g' now contributes to the sub-sequence 'gk' along with the current 'k'.
    • Similarly, if str[i] = 's' and gk > 0 then update gk = gk - 1 and gks = gks + 1.
  3. Print the value of gks in the end.

Below is the implementation of the above approach: 


Output
1

Time Complexity: O(n)
Auxiliary Space: O(1)

Comment