鱼C论坛

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

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

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

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

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

x
合并两个已排序的数组: 给定两个已排序的整数数组,编写一个函数 merge_sorted_arrays(),合并它们并返回一个新的排序后的数组。
游客,如果您要查看本帖隐藏内容请回复
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 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[i] 和 arr2[j] 而不是直接比较 arr1 和 arr2
        if arr1[i] < arr2[j]:
            result.append(arr1[i])
            i += 1
        else:
            result.append(arr2[j])
            j += 1

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

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

    return result


# 测试用例
arr1 = [1, 3, 5]
arr2 = [2, 4, 6]
merged_array = merge_sorted_arrays(arr1, arr2)
print("合并后的排序数组:", merged_array)

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

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

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2025-1-25 21:15:40 | 显示全部楼层
很详细
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-2-24 02:33

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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