0
点赞
收藏
分享

微信扫一扫

Python实现:在字符串中找出连续最长的数字串

船长_Kevin 2022-01-20 阅读 50
# -- coding: utf-8 --
# Python 2.7
data = {
    '': [],
    'aaaaa': ['a'],
    'aabb': ['ab'],
    'pwwkew': ['wke'],
    'brfgdchi': ['brfgdchi'],
    'abcdabcdb': ['abcd', 'bcad', 'cdab', 'dabc'],
}


def main(s):
    li = []
    left = 0
    right = 0
    max_length = 0
    for c in s:
        if c in s[left:right]:
            if right - left >= max_length:
                if right - left > max_length:
                    li = []
                    # python3 可用 li.clear()
                    max_length = right - left
                s[left:right] in li or li.append(s[left:right])
            left += s[left:right].index(c) + 1
        right += 1
    return li or [s]


if __name__ == '__main__':
    print [main(s) for s, r in data.items()]

举报

相关推荐

0 条评论