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

力扣 --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

相关文章:

  • 10:00面试,10:08就出来了,问的问题有点变态。。。
  • Chrome 开发环境快速屏蔽 CORS 跨域限制!
  • 小型水库大坝安全及水雨情监测技术方案
  • TypeScript三斜线指令深度解析:原理剖析与实战指南
  • 【JavaScript】筑基期功法——流程控制
  • 数据库操作以及字段类型讲解
  • Cudann 11.8同时安装tensorflow, pytorch
  • 云资源开发学习应用场景指南,场景 2:云桌面实验室
  • Spring Boot 3虚拟线程的使用
  • 【树莓派Pico FreeRTOS】-Mutex(互斥体)
  • 爬虫问题整理(2025.3.27)
  • linux0.11内核源码修仙传第十章——进程调度始化
  • Retinexformer:基于 Retinex 的单阶段 Transformer 低光照图像增强方法
  • 【消息队列】几个mq组件的对比: redis stream/rabbitmq/rocketmq/kafka
  • 【Python网络编程基础】
  • 六、小白学JAVA-类和对象
  • 【漏洞修复】Android 10 系统源码中的 glibc、curl、openssl、cups、zlib 更新到最新版本
  • ubuntu 22.04 一键安装 lxd
  • 【git拉取冲突解决】Please move or remove them before you merge. Aborting
  • RTMP推流+EasyDSS云服务+边缘AI分析的无人机监控系统设计
  • 投资手机网站源码/seo一个关键词多少钱
  • 温州大型网站建设/如何制作一个网页页面
  • 网站转微信小程序开发/网站是如何建立的
  • 文化传媒网站建设/济南seo优化外包服务公司
  • 企业邮箱可以随便填吗/seo网站关键词优化报价
  • 绍兴网站网站建设/推广恶意点击软件怎样使用