如何解决尽可能短的子字符串中字符的最高集中度
假设我的字符串很长,如下所示:
s = '-----1---------1----2----------4----------------1--------------2---------2--3------1---3------ and so on'
我知道,为了找到包含所有四个不同字符(1、2、3和4)的最短子串,我必须编写如下内容:
s = "-----1---------1----2----------4----------------1--------------2---------2--3------1---3------"
seqs = []
for i,c in enumerate(s):
if c in ["1","2","3","4"]:
seq = ""
nums = ["1","4"]
for c2 in s[i:]:
seq += c2
if c2 in nums:
nums.remove(c2)
if len(nums) == 0:
seqs.append(seq)
break
print(min(seqs,key=len))
但是,如果我想找到字符'1'
浓度最高的最短子字符串怎么办?我试图考虑已经拥有的东西,但是感觉好像没有办法知道在迭代时在哪里停止。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。