当前位置: 首页 > article >正文

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

  • Leetcode 2914. Minimum Number of Changes to Make Binary String Beautiful
    • 1. 解题思路
    • 2. 代码实现
  • 题目链接:2914. Minimum Number of Changes to Make Binary String Beautiful

1. 解题思路

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

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

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

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

2. 代码实现

给出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。


http://www.kler.cn/news/109250.html

相关文章:

  • 一个特殊级数的敛散性判断
  • C#,数值计算——分类与推理Svmlinkernel的计算方法与源程序
  • k8s二进制安装部署
  • 适用于 Mac 或 Windows 的 4 种最佳 JPEG/PNG图片 恢复软件
  • 在Go项目中二次封装Kafka客户端功能
  • rust学习-LinkedList
  • 物联网和互联网医院小程序:如何实现医疗设备的远程监测和管理?
  • H5游戏源码分享-接苹果游戏拼手速
  • Python requests之Session
  • Knife4j使用教程(三) -- 实体类的配置注解(@ApiModel与@ApiModelProperty 的 认识与使用)
  • 多线程---定时器
  • 【网络安全】Seeker内网穿透追踪定位
  • 0基础学习PyFlink——用户自定义函数之UDF
  • LeetCode热题100 旋转图像
  • 抓包分析DSCP字段在FTP/RSTP协议中的应用
  • 分布式:一文吃透Redis/Zookeeper/MySQL实现分布式锁
  • 【C】C语言文件操作
  • Java-API简析_java.io.FilterOutputStream类(基于 Latest JDK)(浅析源码)
  • mysql 计算两个坐标距离
  • 电路器件认识与KV STUDIO的实践(二)
  • 计算机网络重点概念整理-第三章 数据链路层【期末复习|考研复习】
  • 2.flink编码第一步(maven工程创建)
  • ES性能优化最佳实践- 检索性能提升30倍!
  • word页脚设置,页脚显示第几页共有几页设置步骤
  • hadoop权威指南第四版
  • 天气数据可视化平台-计算机毕业设计vue
  • Java通过工具类判断前端给定的实体类属性中是否为空
  • 深度学习之基于yolov8的安全帽检测系统
  • H5游戏源码分享-命悬一线
  • 软考-网络安全审计技术原理与应用