力扣 --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
相关推荐
向阳12181 分钟前
doris:备份
后端·python·flask·doris
春风又。4 分钟前
接口自动化——初识pytest
python·测试工具·自动化·pytest
豆芽8195 分钟前
基于 Flask 的图像分类预测案例解读
人工智能·后端·python·深度学习·神经网络·分类·flask
小白的高手之路8 分钟前
Pytorch中torch.nn的学习
人工智能·pytorch·python·深度学习·神经网络·学习·机器学习
梁下轻语的秋缘8 分钟前
每日c/c++题 备战蓝桥杯(全排列问题)
c++·算法·蓝桥杯·深度优先
AredRabbit18 分钟前
vector<int> 的用法
c++·算法·vector
智能编织者19 分钟前
深入解析 Python 正则表达式:全面指南与实战示例
python·mysql·正则表达式
_乐多_20 分钟前
python:将mp4视频快进播放,并保存新的视频
开发语言·python·音视频
pilgrim5325 分钟前
【二刷代码随想录】双指针-数组相关题型、推荐习题
java·数据结构·算法·leetcode
好好学习^按时吃饭34 分钟前
P4551 最长异或路径
算法·深度优先·图论