合并两个排序数组填空题
时间: 2023-11-11 21:07:27 浏览: 142
题解.md
好的,这是一个经典的问题。假设我们有两个已经排好序的数组 nums1 和 nums2,现在需要将它们合并成一个排好序的数组。我们可以使用双指针的方法,从数组的末尾开始比较两个数组中的元素,将较大的元素放到 nums1 数组的末尾。具体实现可以参考下面的代码:
```python
def merge(nums1, m, nums2, n):
i, j, k = m - 1, n - 1, 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
if j >= 0:
nums1[:k+1] = nums2[:j+1]
```
其中,i、j、k 分别表示 nums1、nums2、合并后的数组的末尾下标,从后往前遍历两个数组,将较大的元素放到合并后的数组的末尾。如果 nums2 中还有剩余的元素,直接将它们复制到 nums1 的前面即可。
阅读全文