读书人

经典笔考题疑问?产生一个int数组长

发布时间: 2012-09-20 09:36:50 作者: rapoo

经典笔试题疑问?产生一个int数组,长度为100,并向其中随机插入1-100,并且不能重复。
产生一个int数组,长度为100,并向其中随机插入1-100,并且不能重复。

int[] intArr=new int[100];

ArrayList myList=new ArrayList();

Random rnd=new Random();

while(myList.Count<100)

{

int num=rnd.Next(1,101);

if(!myList.Contains(num))

myList.Add(num);

}

for(int i=0;i<100;i++)

intArr[i]=(int)myList[i];




请问myList.Count<100,循环了几个啦?






[解决办法]

C# code
//一句代码就可以搞定的事 为何写那么复杂var lst=Enumerable.Range(1,100).OrderBy(l=>Guid.NewGuid()).ToList();
[解决办法]
循环 至少 100次
[解决办法]
Linq的确很强大
[解决办法]
0到99刚好循环一百次
[解决办法]
循环 至少 100次
C# code
if(!myList.Contains(num))   myList.Add(num);
[解决办法]
又归结到数组全排列上...这个网上的算法没看懂
我就想到了全for..

读书人网 >asp.net

热点推荐