443. 压缩字符串-python-双指针

题目:

思路:

定义两个指针:read和write

read用来遍历chars,write是用来记录压缩后的字符的存入位置

代码:

复制代码
class Solution:
    def compress(self, chars: List[str]) -> int:
        #定义两个指针
        read=write=0
        n = len(chars)
        while read < n:
            cur = chars[read]
            count = 0
            while read < n and chars[read] == cur:
                read += 1
                count += 1
            #记录当前的字符
            chars[write]=cur
            write += 1
            if count > 1:
                # 把数字转成字符串,逐位写入
                for s in str(count):
                    chars[write]=s
                    write += 1
        return write
相关推荐
weixin_400005607 小时前
RL-frenet-trajectory-planning-in-CARLA
人工智能·深度学习·算法·机器学习·自动驾驶
Keven_117 小时前
AcWing算法提高课思路速查:动态规划
算法·动态规划
剑挑星河月7 小时前
94.二叉树的中序遍历
java·算法·leetcode
拳里剑气7 小时前
C++算法:队列与BFS
c++·算法·bfs·宽度优先·队列
Ivanqhz7 小时前
注意力机制
线性代数·算法·矩阵·哈希算法·dnn
z小猫不吃鱼7 小时前
02 Optimal Brain Damage 详解:二阶信息剪枝的起点
算法·机器学习·剪枝
Sw1zzle7 小时前
算法入门(三):二分查找 - 基础模板 & 边界控制(Leetcode 704/35/278/34/69/367)
算法·leetcode
Keven_117 小时前
算法札记:如何判断一个DP能否单调队列优化
算法
m0_626535207 小时前
近似attention
人工智能·算法·机器学习
atunet8 小时前
关于算法优化的渐进式重构与代码级实践的技术7
算法