面试中常问的.NET算法问题
1.产生一个int数组,长度为100,并向其中随机插入1-100,并且不能重复
这个随后会继续添加,并在整理一份.net其他方面的面试问题。
1 //产生一个int数组,长度为100,并向其中随机插入1-100,并且不能重复。
2 public void Sort()
3 {
4 int[] myArr = new int[100];
5 ArrayList myList = new ArrayList();
6 Random rnd = new Random();
7 while (myList.Count<100)
8 {
9 int num = rnd.Next(1, 101); //必须大于等于最小的下界;小于最大的上界
10 if (!myList.Contains(num))
11 {
12 myList.Add(num);
13 }
14 }
15 for (int i = 0; i < 100; i++)
16 {
17 myArr[i] = (int)myList[i];
18 Response.Write("第" + i + "个数为:"+myArr[i] + "<br>");
19 }
20 }
2.一列数的规则如下: 1、1、2、3、5、8、13、21、34...... 求第40位数是多少, 用C#递归算法实现2 public void Sort()
3 {
4 int[] myArr = new int[100];
5 ArrayList myList = new ArrayList();
6 Random rnd = new Random();
7 while (myList.Count<100)
8 {
9 int num = rnd.Next(1, 101); //必须大于等于最小的下界;小于最大的上界
10 if (!myList.Contains(num))
11 {
12 myList.Add(num);
13 }
14 }
15 for (int i = 0; i < 100; i++)
16 {
17 myArr[i] = (int)myList[i];
18 Response.Write("第" + i + "个数为:"+myArr[i] + "<br>");
19 }
20 }
1 // 一列数的规则如下: 1、1、2、3、5、8、13、21、34 求第30位数是多少, 用递归算法实现
2 public int Foo(int i) //斐波那契数列
3 {
4 if (i <= 0)
5 return 0;
6 else if (i > 0 && i <= 2)
7 return 1;
8 else
9 return Foo(i - 1) + Foo(i - 2);
10 }
2 public int Foo(int i) //斐波那契数列
3 {
4 if (i <= 0)
5 return 0;
6 else if (i > 0 && i <= 2)
7 return 1;
8 else
9 return Foo(i - 1) + Foo(i - 2);
10 }
这个随后会继续添加,并在整理一份.net其他方面的面试问题。