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

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

思路
有两个操作,全部将左边的刷成一个值,或者将右边的全部刷成一个值,得到的启发是一定需要从两端进行操作,可以模拟一下例子2:

"010101" -> "110101" 操作1-> "110100" 操作1-> "000100" 操作2次
最后变为"111111" 操作5次
总计9

也就是我们每一次都比较左右两端哪一个操作次数少,那么我们就操作他,全部刷为一个值,最后全部判断一遍就得到了最后的结果。

class Solution:
    def minimumCost(self, s: str) -> int:
        n = len(s)
        i = 0
        j = n - 1
        res = 0
        while i < j:
            while i < j and s[i] == s[i + 1]:
                i += 1
            if i >= j: break
            while i < j and s[j] == s[j - 1]:
                j -= 1
            if i + 1 < n - j:
                res += i + 1
                i += 1
            else:
                res += n - j
                j -= 1
        return res

http://www.kler.cn/a/612015.html

相关文章:

  • 批量处理word里面表格单元格中多余的回车符
  • 【电气设计】接地/浮地设计
  • Spring Boot框架
  • VScode cl配置
  • redis常用部署架构之redis分片集群。
  • 双塔模型2之如何选择正确的正负样本
  • iOS 在collectionView顶部无缝插入数据效果
  • Pydantic Schema生成指南:自定义JSON Schema
  • Kubernetes网络插件选择与区别之Calico网络插件详解 上集
  • 《Python实战进阶》第30集:Scikit-learn 入门:分类与回归模型
  • flutter-第1章-配置环境
  • 我的世界模组开发进阶教程——生物群系
  • python深度评测:5大中文长度计算方案终极对决(你的选择可能一直是错的)
  • 【区块链 + 文化版权】慧形AI 知识分身 | FISCO BCOS 应用案例
  • ubuntu20.04安装nvidia-docker(解决有 Release 文件。 N: 无法安全地用该源进行更新,所以默认禁用该源错误)
  • 树莓派(4B)使用教程-小白之路(NO.1)
  • Rust从入门到精通之精通篇:25.过程宏高级应用
  • MySQL 设置允许远程连接完整指南:安全与效率并重
  • 《Python实战进阶》No37: 强化学习入门:Q-Learning 与 DQN-加餐版1 Q-Learning算法可视化
  • 【前端vue】理解VUE前端框架中src下的api文件夹与views文件夹