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

生成对角线填充模式矩阵:现有代码输出不符预期求修正

修正后的Python代码

首先明确需求:将降序数组[15,14,...,1]按对角线填充模式分割为长度依次为1、2、3、4、5的子数组,预期输出为[[1], [2,3], [4,5,6], [7,8,9,10], [11,12,13,14,15]]。

这里的对角线填充模式可理解为:将元素按从右下角到左上角的对角线顺序填充到下三角矩阵,再按行提取子数组。对应到原数组,我们需要先反转数组,再按指定长度分割:

data = [15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1]
# 反转数组得到正序的1到15
reversed_data = data[::-1]
result = []
current_index = 0
# 定义每个子数组的长度序列
lengths = [1, 2, 3, 4, 5]

for length in lengths:
    # 按当前长度切片生成子数组
    sub_array = reversed_data[current_index:current_index + length]
    result.append(sub_array)
    current_index += length

print(result)

代码说明

  1. 反转数组:原数组是降序排列,转为正序后才能匹配对角线填充的元素顺序。
  2. 按长度分割:依次从正序数组中截取对应长度的子数组,确保输出符合“1、2、3、4、5个元素依次排列”的要求。

执行后输出:

[[1], [2, 3], [4, 5, 6], [7, 8, 9, 10], [11, 12, 13, 14, 15]]

如果你的“对角线填充”指的是其他二维矩阵的对角线遍历逻辑,可以补充矩阵结构细节后再调整代码,但当前方案完全匹配你描述的预期输出。

内容的提问来源于stack exchange,提问作者Gооd_Mаn

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.24 23:11:07