个人练习-Leetcode-1758. Minimum Changes To Make Alternating Binary String

题目链接:https://leetcode.cn/problems/minimum-changes-to-make-alternating-binary-string/

题目大意:给出一个字符串,只含有01,一次操作可以将一个字符反转。求最小操作次数,使得字符串的任意两个相邻字符不同。

思路:简单题,只有两种可能010101...101010...,算一下变成这两种情况的字符串花费的次数,取小即可。

完整代码

class Solution {
public:
    int minOperations(string s) {
        int a = 0, b = 0;
        for (int i = 0; i < s.length(); i++) {
            if (i % 2 == 0) {
                if (s[i] == '1')
                    a++;
                else
                    b++;
            }
            else {
                if (s[i] == '0')
                    a++;
                else
                    b++;
            }
        }

        return min(a, b);
    }
};

你可能感兴趣的:(leetcode,算法,职场和发展)