如何在没有任何导入的情况下洗牌 N 大小的数组
How to shuffle an array of N size without any imports
目标是打乱一个 N 大小的数组。代码中不能使用导入。即随机
我可以使用如下所示的导入轻松做到这一点,尽管这些是被禁止的。
private static void shuffleArray(int[] array)
{
int index, temp;
Random random = new Random();
for (int i = array.length - 1; i > 0; i--)
{
index = random.nextInt(i + 1);
temp = array[index];
array[index] = array[i];
array[i] = temp;
}
}
最终目标是以随机顺序打乱数组。伪随机完全没问题。
int []a = new int[]{1,2,3,4,5,6,7,8,9};
for (int i = 0 ; i < a.length; i++)
{
int index = (int)(System.nanoTime() % a.length);
int tmp = a[index];
a[index] = a[i];
a[i] = tmp;
}
目标是打乱一个 N 大小的数组。代码中不能使用导入。即随机
我可以使用如下所示的导入轻松做到这一点,尽管这些是被禁止的。
private static void shuffleArray(int[] array)
{
int index, temp;
Random random = new Random();
for (int i = array.length - 1; i > 0; i--)
{
index = random.nextInt(i + 1);
temp = array[index];
array[index] = array[i];
array[i] = temp;
}
}
最终目标是以随机顺序打乱数组。伪随机完全没问题。
int []a = new int[]{1,2,3,4,5,6,7,8,9};
for (int i = 0 ; i < a.length; i++)
{
int index = (int)(System.nanoTime() % a.length);
int tmp = a[index];
a[index] = a[i];
a[i] = tmp;
}