【发布时间】:2011-04-27 08:50:51
【问题描述】:
我有两个数组,search 和 target。我想找到search 的最长元素序列,它从search 的开头开始,并且在target 中也以相同的连续顺序出现。然后我想返回一份 target 的副本,其中删除了这些元素。
这里有一些例子:
search = [4, "apple", 6, "turnip"]
target = [5, "apple", 4, "orange"]
=> [5, "apple", "orange"] # Delete [4], the longest matching
# prefix of `search`.
search = [4, "apple", 6, "turnip"]
target = [5, "apple", 4, "apple"]
=> [5, "apple"] # Delete [4, "apple"], the longest matching
# prefix of `search`.
search = [4, "apple", 6, "turnip"]
target = [5, "apple", 6, 7]
=> [5, "apple", 6, 7] # Nothing was matched; don't delete anything.
执行此检查的最简洁方法是什么?
【问题讨论】: