合并两个有序数组python
时间: 2023-09-04 20:15:06 浏览: 78
python实现合并两个数组的方法
5星 · 资源好评率100%
可以使用双指针法,从数组末尾开始遍历比较大小,将较大的元素放到目标数组的末尾。
代码如下:
```
def merge(nums1, m, nums2, n):
i, j = m - 1, n - 1
k = m + n - 1
while i >= 0 and j >= 0:
if nums1[i] > nums2[j]:
nums1[k] = nums1[i]
i -= 1
else:
nums1[k] = nums2[j]
j -= 1
k -= 1
while j >= 0:
nums1[k] = nums2[j]
j -= 1
k -= 1
```
其中,i、j分别是两个数组的指针,k是目标数组的指针。第一个while循环中,如果nums1[i]大于nums2[j],将nums1[i]放到目标数组的末尾,i指针向前移动;否则,将nums2[j]放到目标数组的末尾,j指针向前移动。第二个while循环中,如果nums2还有剩余元素,将其全部放到目标数组的末尾。最后,目标数组就是合并后的有序数组。
阅读全文