You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

二维数组同索引元素连续减法实现及索引越界问题解决

问题分析与代码修正

原代码的核心问题

  1. 索引越界:number循环范围是0到thin-1,当number = thin-1时,me_list[number+1]会访问超出数组长度的索引(数组最大索引为thin-1)。
  2. 硬编码元素数量:range(0,10)强行假设每行固定10个元素,不符合题目中输入长度不确定的要求。
  3. 逻辑偏差:原代码是相邻行两两相减,而需求是用第一个行作为初始值,依次减去后续所有行的同索引元素。

修正后的代码

test_cases = int(input())
for _ in range(test_cases):
    row_count = int(input())
    matrix = []
    for _ in range(row_count):
        row = list(map(int, input().split()))
        matrix.append(row)
    
    # 初始化结果为第一行的副本,避免修改原数组
    result = matrix[0].copy()
    # 遍历从第二行开始的所有行
    for row in matrix[1:]:
        # 逐个元素执行减法
        for i in range(len(result)):
            result[i] -= row[i]
    
    print(result)

关键修正点说明

  • 用matrix[0].copy()初始化结果,确保原输入数组不被修改。
  • 遍历matrix[1:]直接获取后续所有行,无需手动处理索引。
  • 用len(result)动态获取元素个数,适配任意长度的输入行(题目默认所有行长度一致)。
  • 最终输出单个结果列表,符合题目要求的输出格式。

内容的提问来源于stack exchange,提问作者Licheng Zheng

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.23 15:09:14