另外一道关于Random的编程题
来源:互联网 发布:一句可爱的话 知乎 编辑:程序博客网 时间:2024/05/18 01:34
如果有1000个不同的数字,如何随机取得其中的100个成为数列,并且数列中没有重复。
基本原理就是每次把这个数字exclude在外面。
public static int[] Get100RandomNumberList(int [] random)
{
if (random==null || random.Length<100)
return random;
int len = random.Length;
int [] ret = new int [100];
for (int i = 0; i < 100; i++)
{
Random r = new Random();
int numberIndex = r.Next(len-i);
ret[i] = random[numberIndex];
int temp = random[len - 1-i];
random[len - 1 - i] = random[numberIndex];
random[numberIndex] = temp;
}
return ret;
}
- 另外一道关于Random的编程题
- 一道关于目录的编程题
- 一道关于股票买卖的算法编程题
- 一道关于编程思想的经典题
- 上海华为的一道关于指针方面的编程题
- 上海华为的一道关于指针方面的编程题
- 关于一道编程题,重拾起编程
- 一道很小的编程题
- 一道printf的编程题
- 一道有趣的编程题
- 360的一道编程题
- 一道简单的编程题
- 关于数据库的一道题??
- 一道关于信号的题
- 关于继承的一道题
- 关于 static 的一道题
- 关于一道题的思考
- 关于C++的一道题
- 巨人网络总裁刘伟:巨人如何聚人
- 终端和控制台的区别
- usaco Broken Necklace字符串
- my links
- 从flw中提取mp3
- 另外一道关于Random的编程题
- find命令的几个例子解析(-a,-o,-path,-wholename,-prnue,-print)
- zoj 3198 python代码超时,求指教。。
- 知名风投KPCB发布《移动互联网趋势报告》
- How to answer tell me about yourself question.
- autopostback
- Lengths of Primitive Java and C++ Data Types on Linux and Windows 32-bit/64-bit (Linux和Windows上Java和C++基本数据类型的长度对比32位/64位)
- Big Endian vs. Little Endian
- flex4, 错误2032, 流错误,图解解决方法