我的问题与找出合并2个已排序项目的不同方式有关?我试图找到一种简单的方法来合并2排序的项目。
def merge(arr1, arr2):
return sorted(arr1 + arr2)
# Example: merge([1, 4, 7], [2, 3, 6, 9]) => [1, 2, 3, 4, 6, 7, 9]
我不确定是否要使其复杂化。这使用了内置函数,这意味着更难弄清实现细节。
我还发现我可以使用来自cypthon的heapq的merge()函数。
想知道是否有使用其他方法的想法,例如:
由您决定使用哪种实施方式。考虑的是您需要干净的代码还是需要性能。
对于干净的代码,您可以使用:
两者都具有复杂度O(nlogn)
而此实现是https://gist.github.com/Jeffchiucp/9dc2a5108429c4222fe4b2a25e35c778,算法复杂度为O(n)。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句