Leetcode 2914. Minimum Number of Changes to Make Binary String Beautiful

  • [Leetcode 2914. Minimum Number of Changes to Make Binary String Beautiful](#Leetcode 2914. Minimum Number of Changes to Make Binary String Beautiful)
    • [1. 解题思路](#1. 解题思路)
    • [2. 代码实现](#2. 代码实现)

1. 解题思路

这一题思路很简单,就是一个贪婪算法。

显然,从头往后考察每一个字符,如果它与前一个字符不相同,那么我们必然只有两个选择:

  1. 如果前面刚好为偶数个字符,那么直接在此处截断即可;
  2. 如果前面为奇数个字符,那么必然要将这个字符反转,此时同样可以在此处截断,因为不会影响后续结果。

这么一来,事实上贪婪算法的结果就必然是最小结果,我们直接给出答案即可。

2. 代码实现

给出python代码实现如下:

python 复制代码
class Solution:
    def minChanges(self, s: str) -> int:
        ans = 0
        pre, cnt = "", 0
        for ch in s:
            if ch == pre:
                cnt += 1
            else:
                if cnt % 2 == 0:
                    pre = ch
                    cnt = 1
                else:
                    ans += 1
                    cnt = 0
        return ans

提交代码评测得到:耗时72ms,占用内存17.3MB。

相关推荐
Espresso Macchiato8 天前
Leetcode 3767. Maximize Points After Choosing K Tasks
leetcode medium·leetcode双周赛171·leetcode 3767
Espresso Macchiato8 天前
Leetcode 3765. Complete Prime Number
leetcode medium·leetcode双周赛171·leetcode 3765
Espresso Macchiato9 天前
Leetcode 3766. Minimum Operations to Make Binary Palindrome
leetcode medium·leetcode 3766·leetcode双周赛171
Espresso Macchiato1 个月前
Leetcode 3741. Minimum Distance Between Three Equal Elements II
滑动窗口·leetcode medium·leetcode 3741·leetcode周赛475
Espresso Macchiato2 个月前
Leetcode 3702. Longest Subsequence With Non-Zero Bitwise XOR
leetcode medium·异或操作·leetcode 3702·leetcode周赛470
Espresso Macchiato2 个月前
Leetcode 3694. Distinct Points Reachable After Substring Removal
滑动窗口·leetcode medium·leetcode双周赛166·leetcode 3694
Espresso Macchiato2 个月前
Leetcode 3698. Split Array With Minimum Difference
leetcode medium·分类讨论·leetcode周赛469·leetcode 3698
Espresso Macchiato3 个月前
Leetcode 3665. Twisted Mirror Path Count
动态规划·leetcode medium·leetcode 3665·leetcode双周赛164
Espresso Macchiato3 个月前
Leetcode 3669. Balanced K-Factor Decomposition
动态规划·质因数分解·leetcode medium·leetcode 3669·leetcode周赛465
Espresso Macchiato4 个月前
Leetcode 3644. Maximum K to Sort a Permutation
leetcode medium·位操作·数组排序·leetcode 3644·leetcode周赛462