例如,让字符串为pi的前10位,3141592653子序列为123.请注意,序列出现两次:
3141592653
1 2 3
1 2 3
Run Code Online (Sandbox Code Playgroud)
这是一个我无法回答的面试问题,我想不出一个有效的算法而且它让我烦恼.我觉得应该可以使用一个简单的正则表达式,但是1.*2.*3不要返回每个子序列.我在Python中的天真实现(在每个1之后计算每个2的3个)已经运行了一个小时而且还没有完成.
Textmate的'去档案'模糊搜索真的很棒.
Wincent的vim的Command-T插件做了类似的事情并且它也摇摆不定.
谁能解释一下这些是如何工作的 他们使用的方法有一个通用术语吗?
编辑:我更详细地了解这些工具的作用
使用这些工具可以在键入时缩小选项列表(在本例中为文件路径).
例如,如果我有以下文件:
/app/models/people.rb
/app/models/address.rb
/app/person.rb
/person.rb
Run Code Online (Sandbox Code Playgroud)
为了缩小列表范围/app/models/people.rb我可以键入以下任何一个:
amp
peo
mp
modelsp
Run Code Online (Sandbox Code Playgroud)
它非常灵活,当我使用的应用程序没有它时,我发现自己错过了这个"列表缩小".我想了解更多关于它的信息,以便我可以实现自己的插件,如果我觉得有必要的话.希望我能更好地解释它,但那就是我在这里的原因:)
要查看它的实际效果,请查看wincent的command-t演示