5.17 Education cf
发布日期:2021-05-14 09:16:13 浏览次数:21 分类:精选文章

本文共 1373 字,大约阅读时间需要 4 分钟。

???????????????????????????????? '1'?'2' ? '3'?????????????? 0?

????

?????????????????????????????????????????????????????????????????????????????????????????

???????

  • ????? left ????????last_pos ??????????????
  • ??????????? c??? last_pos?
  • ?????? last_pos ????? left ????????????????????????????????????
  • ???????????????? 0?
  • ????

    import sys
    def find_min_length(s):
    last_pos = {'1': -1, '2': -1, '3': -1}
    min_len = float('inf')
    left = 0
    for right in range(len(s)):
    c = s[right]
    last_pos[c] = right
    if (last_pos['1'] >= left and
    last_pos['2'] >= left and
    last_pos['3'] >= left):
    current_len = right - left + 1
    if current_len < min_len:
    min_len = current_len
    # Move left pointer
    left_char = s[left]
    last_pos[left_char] -= 1
    left += 1
    return min_len if min_len != float('inf') else 0
    def main():
    t = int(sys.stdin.readline())
    for _ in range(t):
    s = sys.stdin.readline().strip()
    print("{0:.9f}".format(find_min_length(s)))
    if __name__ == "__main__":
    main()

    ????

  • ??????last_pos ??????????????min_len ????????left ???? 0?
  • ??????????????? last_pos?
  • ????????????? last_pos ????? left ??????????????????????????????
  • ????????????????? last_pos????????????????
  • ???????????? 0?
  • ?????????? O(n)?????????????

    上一篇:减成1
    下一篇:5.16 周结

    发表评论

    最新留言

    初次前来,多多关照!
    [***.217.46.12]2025年04月09日 06时53分18秒

    关于作者

        喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
    -- 愿君每日到此一游!

    推荐文章