力扣 --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
相关推荐
GilgameshJSS8 分钟前
【学习K230-例程21】GT6700-UDP-Client
网络·python·单片机·网络协议·学习·udp
FriendshipT17 分钟前
Nuitka 将 Python 脚本封装为 .pyd 或 .so 文件
开发语言·python
她说人狗殊途22 分钟前
动态代理1
开发语言·python
楼田莉子32 分钟前
C++动态规划算法:斐波那契数列模型
c++·学习·算法·动态规划
1373i38 分钟前
【Python】通俗理解反向传播
深度学习·算法·机器学习
Madison-No743 分钟前
【C++】日期类运算符重载实战
c++·算法
Yvonne爱编码44 分钟前
后端编程开发路径:从入门到精通的系统性探索
java·前端·后端·python·sql·go
cici158741 小时前
基于K-SVD的稀疏编码去噪算法
算法
电力程序小学童1 小时前
基于密集型复杂城市场景下求解无人机三维路径规划的Q-learning算法研究(matlab)
算法·matlab·无人机
小柯J桑_1 小时前
Linux:线程控制
linux·c++·算法