两个数组从大到小合并
时间: 2024-09-06 22:01:35 浏览: 28
合并两个已排序的数组(从大到小)通常涉及到将这两个数组的内容逐个比较并添加到结果数组中,保持最终顺序为大到小。这里是一个基本的Python示例:
```python
def merge_sorted_descending(arr1, arr2):
result = []
i = j = 0
# 遍历两个数组,选择较大的元素添加到结果数组
while i < len(arr1) and j < len(arr2):
if arr1[i] >= arr2[j]:
result.append(arr1[i])
i += 1
else:
result.append(arr2[j])
j += 1
# 如果其中一个数组还有剩余元素,将其全部添加到结果数组
while i < len(arr1):
result.append(arr1[i])
i += 1
while j < len(arr2):
result.append(arr2[j])
j += 1
return result
# 示例
arr1 = [5, 3, 8]
arr2 = [7, 4, 9]
merged_array = merge_sorted_descending(arr1, arr2)
print(merged_array) # 输出: [9, 8, 7, 5, 4, 3]
```
在这个过程中,我们首先初始化两个指针分别指向两个数组的开头,然后不断地比较当前指针所指的元素,将较大的添加到结果数组,并移动对应数组的指针。最后,如果还有剩余元素未处理,则直接添加到结果数组。