【发布时间】:2019-07-18 03:13:00
【问题描述】:
某些算法最好通过重复将函数应用于其自己的输出来执行。
在我的示例中,它正在删除匹配的字母对。
例如,如果您有字符串,ztWqqWtUU:
remove_pairs('tWqqWtUU') -> 'ztWWt'
remove_pairs('ztWWt') -> 'z'
remove_pairs('z') -> 'z'
显然,这可以在循环中编码,记下“最后一个值”并检查它是否已更改。但是有没有图书馆可以为我做这件事?
【问题讨论】:
-
我认为您正在寻找的术语是 recursion。你不需要一些 3rd 方库来做到这一点。
-
这听起来像是通过保留一堆不匹配的字母来更好地实现。尝试通过在循环中应用部分解决方案来完成此操作,最终会在
'ab'*100000 + 'ba'*100000等输入上产生二次运行时间。 -
此外,即使使用重复应用方法,循环似乎也比递归调用更好。它会更快、更简单,并且突破递归限制的风险更小。
-
此外,由于垃圾邮件问题,Stack Overflow 上不允许提出图书馆推荐问题。
标签: python