2、合并排序数组。 输入A = [1],B = [1],输出[1,1],返回合并后的数组。 输入A = [1,2,3,4],B = [2,4,5,6],输出[1,2,2,3,4,4,5,6],返回合并所有元素后的数组。
时间: 2024-02-03 17:11:21 浏览: 92
可以使用双指针算法,分别指向两个数组的起始位置,比较两个指针所指的元素大小,将较小的元素加入结果数组中,并将指针后移。直到其中一个指针到达数组末尾,将另一个数组中剩余的元素加入结果数组中。
以下是Python实现:
```python
def merge_sorted_arrays(A, B):
m, n = len(A), len(B)
i, j = 0, 0
res = []
while i < m and j < n:
if A[i] < B[j]:
res.append(A[i])
i += 1
else:
res.append(B[j])
j += 1
res.extend(A[i:])
res.extend(B[j:])
return res
```
测试样例:
```python
A = [1]
B = [1]
print(merge_sorted_arrays(A, B)) # 输出 [1, 1]
A = [1, 2, 3, 4]
B = [2, 4, 5, 6]
print(merge_sorted_arrays(A, B)) # 输出 [1, 2, 2, 3, 4, 4, 5, 6]
```
阅读全文