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 Macchiato1 天前
Leetcode 3568. Minimum Moves to Clean the Classroom
剪枝·广度优先遍历·leetcode medium·堆排·leetcode周赛452·leetcode 3568
Espresso Macchiato6 天前
Leetcode 3567. Minimum Absolute Difference in Sliding Submatrix
leetcode·leetcode medium·leetcode周赛452·leetcode 3567
Espresso Macchiato6 天前
Leetcode 3566. Partition Array into Two Equal Product Subsets
动态规划·leetcode medium·leetcode 3566·leetcode周赛452
Espresso Macchiato11 天前
Leetcode 3557. Find Maximum Number of Non Intersecting Substrings
动态规划·leetcode medium·leetcode 3557·leetcode双周赛157
Espresso Macchiato19 天前
Leetcode 3552. Grid Teleportation Traversal
广度优先遍历·leetcode medium·leetcode周赛450·leetcode 3552·堆排
Espresso Macchiato20 天前
Leetcode 3551. Minimum Swaps to Sort by Digit Sum
leetcode·排序·leetcode medium·leetcode 3551·leetcode周赛450
Espresso Macchiato23 天前
Leetcode 3543. Maximum Weighted K-Edge Path
leetcode·leetcode medium·图遍历·leetcode 3543·leetcode双周赛156
Espresso Macchiato1 个月前
Leetcode 3532. Path Existence Queries in a Graph I
leetcode medium·dsu·leetcode 3532·leetcode周赛447·uf
Espresso Macchiato1 个月前
Leetcode 3523. Make Array Non-decreasing
leetcode··leetcode medium·leetcode 3523·leetcode周赛446
Espresso Macchiato4 个月前
Leetcode 3449. Maximize the Minimum Game Score
贪婪算法·二分法·leetcode hard·leetcode 3449·leetcode周赛436