Office:
UpdateGiven two arrays of strings a1 and a2 return a sorted array r in lexicographical order of the strings of a1 which are substrings of strings of a2.
:Example 1:
a1 = ["arp", "live", "strong"]a2 = ["lively", "alive", "harp", "sharp", "armstrong"]
returns["arp", "live", "strong"]
Example 2:
a2 = ["lively", "alive", "harp", "sharp", "armstrong"]
returns[]
:Define function inArray(array1,array2){}
Description:
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), [])
For reference:
It should be a problem of finding the largest substring, please refer to the dynamic programming problem (2) - finding the longest common substring
Simply put, return the a1 string that exists in a2, in the order of a1.
For example, harp and sharp both have string arp. Both lively and alive have the string live, and amstrong has the string strong. Then the returned order corresponds to the order of a1, so return ["arp", "live", "strong"]