【转】从一副扑克牌中随机抽取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;
     }
原文地址:https://www.cnblogs.com/aaronhoo/p/6474390.html