合并两个有序数组
自己想出来的解法:
思路:
把题目看成将第二个数组中的元素插入第一个数组中。
即对于第二个数组中的每一个元素,找到其应在第一个数组中的位置,然后移动此位置后面的元素,最后将其插入在此位置。
代码:
性能:
分析:
时间:对于大量数组元素的移位拖慢了该算法的运行速度。
空间:没有多余的空间消耗,是该算法的优势。
可能的最优解法(来自leetcode官方题解):
思路:
由于两个输入数组原本就是有序的,所以可以利用双指针,从两个数组最后元素开始遍历(之所以从最后开始,是因为此题输出数组为输入数组之一,为了不创建为了避免输入数组的元素未被比较就被覆盖所创建的临时数组),将较大的元素,放在输出数组的最后,然后把剩下的元素copy进输出数组。