标签: arrays algorithm merge time-complexity
如果允许我们使用临时数组的O(m+n)额外空间,我们会合并2个有序数组O(n)。所以所有元素都合并为一个临时数组。
O(m+n)
O(n)
但是,如果我只允许使用O(1)额外空格,如何执行合并?
O(1)
答案 0 :(得分:2)
是的,可以将两个排序的数组合并为O(1)额外空格。
我们可以使用插入排序。
但是使用O(1)额外空间合并两个排序数组的时间复杂度将是 O(n ^ 2)。
如果我们允许使用O(n)额外空格,那么我们可以使用合并排序,时间复杂度仅为 O(nlogn)。