Java:将一个整数数组划分为具有随机值的子数组



我想把一个数组分成3个子数组,大小随机。

例如,输入阵列是I = [20, 5, 1, 2, 5, 10, 2, 5]

子阵列可能类似于:

A = [20, 5]
B = [2, 5, 10]
C = [1, 2, 5]

根据您给出的示例,子数组似乎可以重叠,因此您生成的子数组的数量并不相关。您只需要在一个随机的起始位置和结束位置之间复制一个数组。

int[] getRandomSubArray(int[] array) {
Random random = new Random();
int start = random.nextInt(array.length);
int end = start + random.nextInt(array.length - start);
return Arrays.copyOfRandom(array, start, end);
}

然后你可以生成任意数量的

int[] a = getRandomSubArray(array);
int[] b = getRandomSubArray(array);
int[] c = getRandomSubArray(array);

最新更新