首页 > 学院 > 开发设计 > 正文

string_compress

2019-11-06 07:35:13
字体:
来源:转载
供稿:网友
突然想到一个题目,有一组字符串
s='aaaabbbccccabsdsdaaadddddd'

要求对该字符串进行压缩,并且空间复杂度最小

例如:s的压缩结果是:‘a4b3c4absdsda3d6

代码如下:

class Solution:    def str_comPRess(self, s):        result = temp = seg = ''        cout = 1        for i in s:            if i.__hash__() == temp.__hash__():                cout += 1                seg = i + str(cout)            else:                if seg != '':                    result += seg                temp = seg = i                cout = 1        return result + seg

解题思路:

这个感觉用C++最好,因为c++可以操作指针,不过python的话两个思路:

一个是转化成list进行操作,另一个是直接对string进行遍历数值

最后,考虑到python变量就是指针的特性,直接对string操作空间复杂度会比较小。

GitHub: https://github.com/DinnerHowe/LeetCode.git


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表