鱼C论坛

 找回密码
 立即注册
查看: 249|回复: 2

[技术交流] “天天”练习(4)

[复制链接]
发表于 2025-1-15 18:21:31 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
合并两个已排序的数组: 给定两个已排序的整数数组,编写一个函数 merge_sorted_arrays(),合并它们并返回一个新的排序后的数组。
游客,如果您要查看本帖隐藏内容请回复
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2025-1-15 18:21:55 | 显示全部楼层
以下代码中存在一些问题,我已修正并注释说明,给出完整的解决方案:

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

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

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

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

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

  23.     return result


  24. # 测试用例
  25. arr1 = [1, 3, 5]
  26. arr2 = [2, 4, 6]
  27. merged_array = merge_sorted_arrays(arr1, arr2)
  28. print("合并后的排序数组:", merged_array)
复制代码


**输出结果:**
  1. 合并后的排序数组: [1, 2, 3, 4, 5, 6]
复制代码


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

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2025-1-25 21:15:40 | 显示全部楼层
很详细
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-5-6 05:13

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表