经典算法题随机从连续的100个不重复数中取出100个不重复随机数
这道题目很值得思考,以下分别用三种方式搞定,第三种方式拒绝使用contains方法。
方法一:
int[] arr = new int[100];
// while (true)
// {
// Random rand = new Random();
// for (int j = 0; j < 100; j++)
// {
// int m = rand.Next(1, 200);
// if (!arr.Contains(m))
// {
// arr[j] = m;
// }
// else
// j--;
// }
// break;
方法一变形:
int[] arr = new int[100];
Random rnd = new Random ();
for (int i = 0; i < 100; )
{
int j= rnd.Next(1, 101);
if (arr.Contains(j) == false )
{
arr[i] = j;
i++;
}
}
for (int k = 0; k < 100; k++)
{
Console.Write(arr[k] + " ");
}
方法二:
//int[] arr = new int[100];
//ArrayList list = new ArrayList();
//Random rand = new Random();
//while (list.Count < 100)
//{
// int num = rand.Next(1, 105);
// if (!list.Contains(num))
// list.Add(num);
//}
//for (int i = 0; i < 100; i++)
// arr[i] = (int)list[i];
方法三:
int[] arr1 = new int[100];
int[] arr2 = new int[100];
for (int i = 0; i < 100; i++)
arr1[i] = i;
Random rand=new Random();
int end=100-1;
for(int i=0;i<total;i++)
{
int num= rand.Next(0, end+1);
arr2[i] = arr1[num];
arr2[num] = arr2[end];
end--;
}
转载于:https://www.cnblogs.com/zhanying/p/4063802.html
经典算法题随机从连续的100个不重复数中取出100个不重复随机数相关推荐
- python全排序算法题_Python的100道经典算法题(1)
按照c语言的100道经典算法题,自己原创写的,就得是自己的练习题了 [程序1] 题目:有1.2.3.4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少? 程序分析:可填在百位.十位.个位的数 ...
- java经典100例算法题_10道java经典算法题,每一题都能帮你提升java水平!
JAVA经典算法题 [程序1] 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第四个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? 1.程序分析:兔子 ...
- 经典算法题每日演练——第十题 树状数组
原文:经典算法题每日演练--第十题 树状数组 有一种数据结构是神奇的,神秘的,它展现了位运算与数组结合的神奇魅力,太牛逼的,它就是树状数组,这种数据结构不是神人是发现不了的. 一:概序 假如我现在有个 ...
- 经典算法题每日演练——第六题 协同推荐SlopeOne 算法
原文:经典算法题每日演练--第六题 协同推荐SlopeOne 算法 相信大家对如下的Category都很熟悉,很多网站都有类似如下的功能,"商品推荐","猜你喜欢&quo ...
- 经典算法题每日演练——第二十二题 奇偶排序
原文:经典算法题每日演练--第二十二题 奇偶排序 这个专题因为各种原因好久没有继续下去了,MM吧...你懂的,嘿嘿,不过还得继续写下去,好长时间不写,有些东西有点生疏了, 这篇就从简单一点的一个&qu ...
- 经典算法题每日演练——第十九题 双端队列
经典算法题每日演练--第十九题 双端队列 原文:经典算法题每日演练--第十九题 双端队列 话说大学的时候老师说妹子比工作重要~,工作可以再换,妹子这个...所以...这两个月也就一直忙着Fall in ...
- 经典算法题每日演练——第一题 百钱买百鸡
经典算法题每日演练--第一题 百钱买百鸡 原文:经典算法题每日演练--第一题 百钱买百鸡 百钱买百鸡的问题算是一套非常经典的不定方程的问题,题目很简单:公鸡5文钱一只,母鸡3文钱一只,小鸡3只一文钱, ...
- 每日经典算法题(十三) 逆推算法(平方根相关)
每日经典算法题(十三) 逆推算法(平方根相关) 平方根:Square Root 题目 有一个整数,它加上 100 后是一个 完全平方数 ,再加上 168 又是一个 完全平方数 ,请问该数是多少? 程序 ...
- 字节跳动经典算法题:给定一个数n如23121;给定一组数字a如[2 4 9]求由a中元素组成的小于n的最大数
字节跳动经典算法题(提问次数最多) 题目描述:给定一个数n如23121:给定一组数字a,如[2 4 9]:求由a中元素组成的小于n的最大数. 思路分析:暴力分析手法 1. 判断该位的数值是否在数字a中 ...
- 经典算法题每日演练——第七题 KMP算法
原文:经典算法题每日演练--第七题 KMP算法 在大学的时候,应该在数据结构里面都看过kmp算法吧,不知道有多少老师对该算法是一笔带过的,至少我们以前是的, 确实kmp算法还是有点饶人的,如果说红黑树 ...
最新文章
- ModelView矩阵各列含义及说明
- ssh(Spring+Spring mvc+hibernate)——EmpDaoImpl.java
- LeetCode 108. Convert Sorted Array to Binary Search Tree
- jpanel网格布局添加滚动条_Java Swing GridBagLayout网格袋布局的实现
- java 静态绑定_java的动态绑定和静态绑定
- Liunx 常用命令
- Visio2016激活工具
- java微信测单删,免费查微信单删软件有哪些(推荐靠谱查单删APP)
- 你的 Navicat 可能被下毒了...
- 高数篇:11.01多元函数求极限方法
- 不想使用Windows自带远程桌面客户端的另外一种选择
- Mic Android 8.1 方案
- 描述12个异性追求者(互动媒体技术作业)
- 中小型水库雨水情测报平台有哪些功能?水库雨水情数据孪生安全监测系统
- SRS 代码分析【HLS切片】
- 【正点原子MP157连载】第四十章 Linux I2C驱动实验-摘自【正点原子】STM32MP1嵌入式Linux驱动开发指南V1.7
- 关于simplis仿真和驱动方法
- 解密一个量化对冲基金开发人员的工作内容
- Vue组件之间的传参方式小总结
- 虚拟 IP 设为静态 IP