2712 使所有字符相等的最小成本

·   ·   ·   ·

  ·   ·


题目链接

2712. 使所有字符相等的最小成本

分析

对于每两个相邻的不同值,均要进行操作使其相等

遍历遇到相邻的值不同时,选择 $i$ 和 $n-i$ 中比较小的即可

代码实现

class Solution {
public:
    long long minimumCost(string s) {
        long long ans = 0;
        int n = s.size();
        for(int i = 1; i < n; ++i) {
            if(s[i - 1] != s[i])
                ans += min(i, n - i);
        }
        return ans;
    }
};

复杂度分析

  • 时间复杂度:$O(n)$
  • 空间复杂度:$O(1)$