Problem · String

Minimum Replacements for Unequal Adjacent Characters

Learn this problem
EasyIBM logoIBMFULLTIMEOA
See IBM hiring insights

Problem statement

Given a lowercase string s, return the minimum number of replacement operations needed so that every pair of adjacent characters is different.

In one operation, choose one index and replace its character with any lowercase English letter. Insertions and deletions are not allowed.

Function

minimumReplacements(s: String) → int

Examples

Example 1

s = "aab"return = 1

Replace either of the first two a characters with a letter different from its neighbors.

Example 2

s = "aaaa"return = 2

Two replacements can produce abab, and one replacement cannot break all three equal adjacencies.

Example 3

s = "abac"return = 0

Every adjacent pair is already different.

Constraints

  • 1 <= s.length <= 2 * 10^5.
  • s contains only lowercase English letters.

More IBM problems

drafts saved locally
public int minimumReplacements(String s) {
    // Write your code here.
}
s"aab"
expected1
checking account