某一个“天” 发表于 2025-1-15 18:21:31

“天天”练习(4)

合并两个已排序的数组: 给定两个已排序的整数数组,编写一个函数 merge_sorted_arrays(),合并它们并返回一个新的排序后的数组。
**** Hidden Message *****

FishC 发表于 2025-1-15 18:21:55

以下代码中存在一些问题,我已修正并注释说明,给出完整的解决方案:

def merge_sorted_arrays(arr1, arr2):
    # 创建一个空的结果数组
    result = []

    # 使用两个指针分别遍历 arr1 和 arr2
    i, j = 0, 0

    # 当两个数组都没有遍历完时
    while i < len(arr1) and j < len(arr2):
      # 修正:应使用 arr1 和 arr2 而不是直接比较 arr1 和 arr2
      if arr1 < arr2:
            result.append(arr1)
            i += 1
      else:
            result.append(arr2)
            j += 1

    # 如果 arr1 中还有元素,添加到结果数组
    while i < len(arr1):
      result.append(arr1)
      i += 1

    # 如果 arr2 中还有元素,添加到结果数组
    while j < len(arr2):
      result.append(arr2)
      j += 1

    return result


# 测试用例
arr1 =
arr2 =
merged_array = merge_sorted_arrays(arr1, arr2)
print("合并后的排序数组:", merged_array)

**输出结果:**
合并后的排序数组:

**注意点:**
1. 在 `while` 循环中比较数组元素时,需要使用 `arr1` 和 `arr2`。
2. 测试用例 `arr1` 和 `arr2` 需设置为已排序的数组。

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。

zyx2012 发表于 2025-1-25 21:15:40

{:5_106:}{:5_106:}{:5_106:}很详细
页: [1]
查看完整版本: “天天”练习(4)