小工具知识网

当前位置: 首页 > 行业知识 > 【编程学习】数组转矩阵

行业知识

【编程学习】数组转矩阵

2026-11-06 23:59:43 来源:互联网转载

一、题目:

��       给定一个一维数组,要求是将数组转化成一个矩阵。数组的输入作为矩阵的第一列,之后每一列的数值,都要比上一列下移一行。

举例

输入:

[1,2,3,4,5,6,7,8,9,10]

输出:

1 10 9 8 7 6 5 4 3 22 1 10 9 8 7 6 5 4 33 2 1 10 9 8 7 6 5 44 3 2 1 10 9 8 7 6 55 4 3 2 1 10 9 8 7 66 5 4 3 2 1 10 9 8 77 6 5 4 3 2 1 10 9 88 7 6 5 4 3 2 1 10 99 8 7 6 5 4 3 2 1 1010 9 8 7 6 5 4 3 2 1

二、解题

解题思路:动态规划

从题目和举例看,第一列,就是输入的数组值竖排,那么:

从第二列开始,取值相比第一列,相当于一个环,往下转动了一行,然后赋值,在dp上,应该是:

示例代码:Go

func ConvertToMatrix(input []int32) (error, [][]int32) {dataLen := int32(len(input))if (input == nil) || (dataLen == 0) {return errors.New("invalid Input"), nil}dp := make([][]int32, dataLen)for i := range dp {dp[i] = make([]int32, dataLen)}for i := int32(0); i  

上一篇:怎么拉文件到服务器里?

下一篇:传奇服务器怎么设置验证?