C#随机获取0-50之间任意数,但是这个数不能存在于另两个集合
从1-50之间随机取数,但是这个数不能在其他两个集合中出现,其他两个集合例如:
List1:1,5,7,15....
List2:1,7,20,44....
请问这个随机数要怎么取
手掌心
浏览 624回答 7
7回答
-
鸿蒙传说
Random rd=new random(0,50);
int num = =-1;
while(true)
{
num = rd.next();
if(!List1.contains(num)&&!List2.contains(num))
break;
}
-
慕村225694
但是我的集合要是一个实体类类型的呢,比如:List ,List,我要看User1和User2的年龄不包含的呢
-
慕森王
@淘@淘: 额,那就要循环User1来判断年龄了,不然就在做随机数之前先将两个List中的年龄缓存到一个List中
-
精慕HU
@滴答的雨: 二楼的思路挺好的。若你的选择范围会填充趋近于满的话这种算法优势就体现出来了。但是如果10000个数实际list只有存几百个,那这个算法就不好
-
牛魔王的故事
实体类的话可以继承IComparable接口,重写比较方法将相等条件设置为根据该类的Age属性,然后就能和普通的数组一样来了。
打开App,查看更多内容