int[] pickMRandomly(int[] array, int m) { int[] subset = new int[m]; for (int j = 0; j < m; j++) { int index = random(j, n); // random number between j and n int temp = array[index]; array[index] = array[j]; array[j] = temp; subset[j] = temp; } return subset; }
2013-03-13, 10:31 PM, Wednesday
Random Permutation 2 – Random sample m out of n
Random Permutation 1 – shuffle
public static void shuffleArray(int[] array) { Random generator = new Random(); for (int j = 0; j < array.length; j++) { int index = generator.nextInt(array.length-j)+j; // random number between j and n int temp = array[index]; array[index] = array[j]; array[j] = temp; } }