【发布时间】:2022-01-22 09:45:45
【问题描述】:
我有以下数组:[1,2,3,4,5,6,7,8,9]
我必须根据组和步骤参数返回以下值
例如:
组 = 3; 步长 = 3;
[
[1,2,3],
[4,5,6],
[7,8,9],
[1,2,3]
]
组 = 3; 步长 = 2;
[
[1,2,3],
[3,4,5],
[5,6,7],
[7,8,9],
[9,1,2],
[2,3,4],
[4,5,6],
[6,7,8],
[8,9,1],
[1,2,3]
]
组 = 3; 步长 = 4;
[
[1,2,3],
[5,6,7],
[9,1,2],
[4,5,6],
[8,9,1],
[3,4,5],
[7,8,9],
[2,3,4],
[6,7,8],
[1,2,3]
]
到目前为止,我有这个代码 sn-p(在 Java 中):
public static String[][] arrayOfArrays(String[] arr, int step, int group) {
int size = (arr.length / step) + 1;
String[][] list = new String[size][group];
int start = 0;
for (int i = 0; i < size; i++) {
for(int j = 0; j < group; j++) {
list[i][j] = arr[start];
start++;
}
if(start == arr.length) {
start = 0;
}
}
return list;
}
我是算法新手,我想了解应该如何开始思考以解决问题?
谢谢
【问题讨论】:
-
您需要解释什么是组和步骤以及如何使用它们来获得所需的输出。
标签: java arrays algorithm multidimensional-array array-algorithms