基本上,我有一个54元素的单维数组,我想快速拆分成一个二维数组,其中包含原始数组的20个非常特定的子数组(并且正确排序)。
将I / O中的整数视为原始数组的索引。
输入:{0,1,2,3,4,5,6,7,8,9 ...... 53}包含54个元素的数组
输出:{{0,9,51},{1,52},{2,17,53},{3,10},{5,16},{6,11,12} ......多维数组 输入数组的子数组
我目前正在对子阵列进行硬编码,但它很乏味且很慢。关于如何实现这一点的任何想法?
答案 0 :(得分:0)
您可以执行以下操作。我假设你自己初始化你的子阵列。但是子阵列的排序应该很简单,如下所示。
public static void main(String[] args) {
// Initialize your original array
int[] original = new int[54];
// Create a master array containing 20 sub-arrays
int[][] array = new int[20][];
// sub array
array[0] = new int[3]; // and populate the sub-array values
array[1] = new int[2]; // and populate the sub-array values
// .
// .
// .
// Iterate over the sub arrays and sort the numbers
for (int[] subarray : array) {
Arrays.sort(subarray);
}
// At this point you've achieved what you wanted
}