FastPrepFind Minimum Operations

Find Minimum Operations

IBM logoIBM● HardOA
Learn

Problem statement

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".

Complete the function findMinOperations in the editor below.

findMinOperations takes the following parameters:

  • string s: the scheduling queue

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

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

Function

findMinOperations(s: String) → int

Examples

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.

Example 2

s = "aa"return = 4

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

Example 3

s = "ac"return = 1

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

More IBM problems

See IBM hiring insights
public int findMinOperations(String s) {
  // write your code here
}
s"abb"
expected3
Checking account…