【转】从一副扑克牌中随机抽取N张
该问题为产生不重复的随机数序列,形象点就是一副扑克牌中随机抽取N张。
摘自:不重复随机数列生成算法
改了一部分
/** * 从0-max随机选N个数出来 * **/ public static int[] GetRandomSequence2(int max,int N) { int[] sequence = new int[max]; int[] output = new int[N]; for (int i = 0; i < max; i++) { sequence[i] = i; } Random random = new Random(); int end = max-1; for (int i = 0; i < N; i++) { int num = random.nextInt(end); output[i] = sequence[num]; sequence[num] = sequence[end]; end--; } return output; }