https://leetcode.com/problems/minimum-changes-to-make-alternating-binary-string/description/ | Easy |
---|
Дана строка s
, состоящая из символов '0'
и '1'
. Строка называется «чередующейся», если никакие два соседних символа не одинаковы. В одной операции можно изменить любой символ (с '0'
на '1'
или с '1'
на '0'
). Требуется вернуть минимальное число операций, чтобы сделать s
чередующейся строкой.
class Solution {
fun minOperations(s: String): Int {
var cost0 = 0
var cost1 = 0
for (i in s.indices) {
val c = s[i]
if (c != (if (i % 2 == 0) '0' else '1')) cost0++
if (c != (if (i % 2 == 0) '1' else '0')) cost1++
}
return minOf(cost0, cost1)
}
}