Problem · String

Find Minimum Operations

HardIBMOA
See IBM hiring insights

A scheduler manages multiple processes with priorities represented by the letters a, b, and c. Its goal is to optimize the schedule to achieve a specific sequence.

The operations available to the scheduler are as follows:

  • Choose a process with priority a, b, or c.
  • Insert the chosen process into the scheduling queue at any position.
  • Determine the minimum number of scheduling operations required to ensure that the scheduling queue follows the repeating pattern "abc".

    Function Description

    Complete the function findMinOperations in the editor below.

    findMinOperations takes the following parameters:

    • string s: the scheduling queue

    Returns

    int: the minimum number of operations required to make the queue a concatenation of 'abc' several times

    Constraints

    • 1 ≤ |s| ≤ 10^5
    • s consists only of characters 'a', 'b', and 'c'.

    Examples
    01 · Example 1
    s = "abb"
    return = 3

    Transform the queue to abcabc by inserting two letters c and one letter a. The string "abcabc" is the concatenation of "abc" two times.

    The minimum number of scheduling operations required is 3.

    02 · Example 2
    s = "aa"
    return = 4

    Insert 'b' and 'c' after the first and second 'a' to transform the string to abcabc.

    03 · Example 3
    s = "ac"
    return = 1

    Insert 'b' between 'a' and 'c' to transform the string to abc.

    More IBM problems
    drafts saved locally
    public int findMinOperations(String s) {
      // write your code here
    }
    
    s"abb"
    expected3
    sign in to submit