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

思路

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

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

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

python 复制代码
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
相关推荐
2501_9361460417 分钟前
烟草叶片病害检测_YOLO11-C3k2-MSBlock模型详解
python
练习时长一年26 分钟前
LeetCode热题100(杨辉三角)
算法·leetcode·职场和发展
Data_agent29 分钟前
Python 编程实战:函数与模块化编程及内置模块探索
开发语言·python
十铭忘31 分钟前
windows系统python开源项目环境配置1
人工智能·python
lzllzz2343 分钟前
bellman_ford算法
算法
Generalzy1 小时前
langchain deepagent框架
人工智能·python·langchain
栈与堆1 小时前
LeetCode 19 - 删除链表的倒数第N个节点
java·开发语言·数据结构·python·算法·leetcode·链表
sunfove1 小时前
麦克斯韦方程组 (Maxwell‘s Equations) 的完整推导
线性代数·算法·矩阵
Rui_Freely1 小时前
Vins-Fusion之 SFM准备篇(十二)
人工智能·算法·计算机视觉
万行1 小时前
机器学习&第二章线性回归
人工智能·python·机器学习·线性回归