我正在寻找用数字 1 到 10 填充数组 a 并从该数组中获取一个随机数并将其添加到数组 b 并从数组 a 中删除该元素。我想知道最有效的方法。编辑:(该练习要求我在数组中没有重复的值,并且每次调用该方法时排列都是随机的。)到目前为止,这是我的方法:
public int[] nextPermutation() {
int capOne = 10;
int capTwo = 10;
int aSize = 0;
int bSize = 0;
int[] a = new int[capOne];
int[] b = new int[capTwo];
int upperBound = 11;
Random generator = new Random();
//fill initial array with 1 - 10
for (int i = aSize; i < 10; i++) {
a[i] = i + 1;
//companion variable for sizing array
aSize++;
}
//Create a random integer and add it to array b
//Remove same integer from array a
//Repeat and remove another random integer from the remaining integers in array a and add it to b
permuted = b;
return permuted;
}
如果不是完全不正确,我可能会以低效的方式处理这个问题。如果是这样,我相信你会毫不犹豫地告诉我。非常感谢您对此的任何帮助。