首页 > 快手2020实习生招聘及应届生补录-算法类笔试B卷
头像
Lucky_Star🌟
编辑于 2020-04-13 10:09
+ 关注

快手2020实习生招聘及应届生补录-算法类笔试B卷

快手2020实习生招聘及应届生补录-算法类笔试B卷


第一题:字符串中连续出现次数大于2的删除:
如:输入12233324,输出14;
python实现(暴力…)

import sys
'''
第一题
'''
for line in sys.stdin:
    a = list(line)
    # 去掉转换列表最后的换行'\n'
    a.remove(a[-1])
    # print(a)

    i = j = 0
    while i < len(a):
        j = i
        while j < len(a) and a[j] == a[i]:
            j += 1

        # 满足连续
        if j - i >= 3:
            # 使用pop删除重复位置对应索引的元素值,k用于计数
            k = 0
            while k < j - i:
                a.pop(i)
                # 或者 del a[i]
                k += 1
            i -= 2
            if i < 0:  # 连同上句可有可无的判断,减少一些时间复杂度吧
                i = 0
        # 不满足连续,向下一位对比
        else:
            i += 1
    # print(a)
    # 转字符串
    print(''.join(a))
    break


全部评论

(3) 回帖
加载中...
话题 回帖

相关热帖

近期热帖

近期精华帖

热门推荐