If I have a URL like:
http://www.example.com:9090/test.html
Run Code Online (Sandbox Code Playgroud)
Then I know that www.example.com is the host name, but what do you call http://www.example.com:9090? Is there some kind of established name for that?
大多数情况下,Vim中的自动完成功能对我很有效,但有时它似乎是扫描当前文件引用的文件,然后它变得非常缓慢,有时需要几秒钟才能将焦点释放给我.
有时Vim告诉我其他时间只是"扫描",它说的是"扫描标签"
我只在Ruby文件中发生这种情况,并且主要发生在文件中存在require时.
我的猜测是,这是某种功能,可以检查自动完成选项的相关文件,但我真的不需要,并希望更快的自动完成.
我正在寻找以下问题的解决方案:
给定数组"a"和数组"b",找到一组操作,当应用于"a"时,将"a"变换为"b".
例如,鉴于我有:
a = [1,2,3]
b = [3,2,4]
c = transmute(a, b)
Run Code Online (Sandbox Code Playgroud)
我现在希望c包含类似的东西:
[["remove", 0], ["add", 2, 4], ["swap", 0, 1]]
Run Code Online (Sandbox Code Playgroud)
按给定的顺序在"a"上添加这些操作应该产生"b":
[1,2,3] => [2,3] => [2,3,4] => [3,2,4]
Run Code Online (Sandbox Code Playgroud)
这是Ruby中一个非常天真的实现:https://gist.github.com/4455256.这假设数组中没有重复(这不是一个好的假设).我认为它也是O(n²),如果有更高性能的话会更好.
有没有已知的算法可以做到这一点?我可以做进一步的阅读吗?您对如何改进这项建议有什么建议吗?