题目:
Gegeben zwei Arrays von Strings a1 und a2 geben ein sortiertes Array r in lexikografischer Reihenfolge der Strings von a1 zurück, die Teilstrings von Strings von a2 sind.
例子:
Beispiel 1:
a1 = ["arp", "live", "strong"]
a2 = ["lively", "alive", "harp", "sharp", "armstrong"]
returns ["arp" , „lebendig“, „stark“]
Beispiel 2:
a1 = ["tarp", "mice", "bull"]
a2 = ["lively", "alive", "harp", "sharp", "armstrong"]
gibt []
要求:
要求实现function inArray(array1,array2){}
测试用例:
a2 = ["lively", "alive", "harp", "sharp", "armstrong"]
a1 = ["xyz", "live", "strong"]
Test.assertSimilar(inArray(a1, a2), ["live", "strong"])
a1 = ["live", "strong", "arp"]
Test.assertSimilar(inArray(a1, a2), ["arp", "live", "strong"])
a1 = ["tarp", "mice", "bull"]
Test.assertSimilar(inArray(a1, a2), [])
供参考:
应该是寻找最大子串问题吧,参考动态规划问题(2)——寻找最长公共子串
简单来说,返回a2中存在的a1字串,顺序为a1的顺序。
比如harp和sharp都有字串arp。lively和alive都有字串live,amstrong有字串strong。然后返回的顺序对应a1的顺序,所以返回["arp", "live", "strong"]