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
相关推荐
.道阻且长.12 小时前
2.LeetCode算法习题讲解--双指针--复写零
算法·leetcode·职场和发展
To_OC14 小时前
LC 438 找到所有字母异位词:暴力超时后,我靠滑动窗口一招搞定
javascript·算法·leetcode
Forever Nore17 小时前
学完C语言力扣第一题做不来正常吗
数据结构·算法
hansang_IR17 小时前
【题解】LC:倍增 / 区间并查集(Range Parallel Unionfind)
c++·算法·并查集
Tisfy19 小时前
LeetCode 3731.找出缺失的元素:哈希 / 排序
算法·leetcode·哈希算法·排序·哈希表
lucas_AI19 小时前
Q-CueGraph:你的多模态大模型会 zoom,但真的知道该看哪儿吗?
人工智能·算法
kaixin_啊啊20 小时前
test_机器学习算法学习
学习·算法·机器学习
liulilittle20 小时前
MOE路由:路由(logits: top-k/8)
c++·人工智能·算法·机器学习·llm
旖旎夜光20 小时前
LeetCode 11:盛最多水的容器(双指针问题) —— 题解
数据结构·c++·算法·leetcode·双指针