我发现这个问题贴在这里,但无法评论或提出问题,所以我正在创建一个新问题。你知道吗
原来的帖子说:
t = "abd"
s = "abdc"
s通常包含t。但是,在对它们进行排序时,会得到字符串abd和abcd,而in比较失败。排序会妨碍其他字母。你知道吗
取而代之的是,你需要一步一步地通过t大小的块
t_len = len(t)
s_len = len(s)
t_sort = sorted(t)
for start in range(s_len - t_len + 1):
chunk = s[start:start+t_len]
if t_sort == sorted(chunk):
# SUCCESS!!
在for循环中,为什么要取S-len然后减去t?他们为什么在最后加1?你知道吗
alvits和duvoid已经解释了
start
的值,我不重复了。你知道吗我强烈建议您学习一些基本的跟踪调试。插入一些有用的print语句来跟踪执行。例如:
代码:
输出:
这有助于说明循环中发生了什么吗?你知道吗
相关问题 更多 >
编程相关推荐