美团面试第一题:获取修改不连续字符串的最少次数

262 阅读1分钟
题目描述:

小美有一个由数字字符组成的字符串。现在她想对这个字符串进行一些修改。

具体地,她可以将这个字符串中任意位置字符修改为任意的数字字符。

她想知道,至少进行多少次修改,可以使得修改后的字符串不包含两个连续相同的字符?

例如,对于字符串”111222333”。最少进行 3 次修改将其变为 121212313

public class Solution01 {
    public static void main(String[] args) {
        String s = "123219742198312211122222333333333387912222222222222298888888837732738273";

        String s1 = "111222333";
        char[] arr = s1.toCharArray();
        
        int count = 0;
        for (int i = 0; i < arr.length; i++) {
            if(i>0 && arr[i]==arr[i-1]){
                arr[i]='-';
                count++;
                i++;
            }
        }
        System.out.println(count);
    }
}