a1 = ['arp', 'bull', 'mice']
a2 = ["lively", "alive", "harp", "sharp", "armstrong"]
我需要它回来:
^{pr2}$我的代码是:
def in_array(array1, array2):
x = array1
return sorted(x)
适用于:
a1 = ["live", "arp", "strong"]
a2 = ["lively", "alive", "harp", "sharp", "armstrong"]
r = ['arp', 'live', 'strong']
如何在一个数组中排序,并且只匹配a2的子字符串的已排序元素?在
您只需使用一个
filter
并检查a2
中是否存在包含这样一个子字符串的any(..)
元素:如果您也希望对结果进行排序,可以使用
^{pr2}$sorted(..)
:如果要消除重复项,可以使用
^{3}$set(..)
:该算法将在O(n×m+n×log(n))中运行,n表示
a1
中的元素个数,m表示a2
中的元素数。在如果您可以在}中的元素数量相比很大时,这才是有益的。在
ar2
上进行预处理(例如生成trie),您可以从O(n)方面提高算法的复杂性。但是只有当a1
中的元素数量与{相关问题 更多 >
编程相关推荐