.

# 算法题

1题:
1-1000放在含有1001个元素的数组中，只有唯一的一个元素值重复，其它均只出现

static void Main(string[] args)
{
int[] list = new int[1001];

for (int i = 1; i < 1001; i++)
{
list[i - 1] = i;
}

Random random = new Random();

list[1000] = random.Next(1, 1000);

int sum1 = 0;

int sum2 = 0;

foreach (int i in list)
{

sum1 = sum1 + i;
}
for (int i = 1; i < 1001; i++)
{

sum2 = sum2 + i;
}

Console.WriteLine("重复的数字是:"+(sum1 - sum2).ToString());
} 

2: 四个女人过桥，夜间有一火把，每次最多过两个，必需带火把，

no.1 1min
no.2 2min
no3 5min
no.4 10min

public class CrossBridge
{
public int CrossTime
{ get; set; }

public bool HasFire
{ get; set; }

public string WomanID { get; set; }
}

static int Sum;
static void Main(string[] args)
{
int total = 100;
while (total > 17)
{
Sum = 0;
total = GotIt(NewList());

}
}

static ArrayList NewList()
{
CrossBridge woman1 = new CrossBridge();
woman1.CrossTime = 1;
woman1.WomanID = "1";
CrossBridge woman2 = new CrossBridge();
woman2.CrossTime = 2;
woman2.WomanID = "2";
CrossBridge woman3 = new CrossBridge();
woman3.CrossTime = 5;
woman3.WomanID = "3";
CrossBridge woman4 = new CrossBridge();
woman4.CrossTime = 10;
woman4.WomanID = "4";
ArrayList womanLists = new System.Collections.ArrayList();
return womanLists;
}

static int GotIt(ArrayList lists)
{
Random r1 = new Random();
int i=r1.Next(0, lists.Count-1);
CrossBridge w1 = (CrossBridge)lists[i];
lists.Remove(w1);
int j=r1.Next(0,lists.Count-1);
CrossBridge w2 = (CrossBridge)lists[j];
lists.Remove(w2);
CrossBridge temp ;
Console.WriteLine("走过去的是: 第" + w1.WomanID.ToString() + "女人and " + "第" + w2.WomanID.ToString() + "个女人");
if (w1.CrossTime < w2.CrossTime)
{
temp = w1;
}
else
{
temp = w2;
}
Sum = Sum + w2.CrossTime + w1.CrossTime;

if (lists.Count != 1)
{
Console.WriteLine(temp.WomanID + "走回去了");
Console.WriteLine("现在的时间是:" + Sum.ToString());
GotIt(lists);
}
else
{
Sum = Sum - temp.CrossTime;
Console.WriteLine("总时间是:" + Sum.ToString());
}
return Sum;
}  

#### 算法题 算法题

2007年07月13日 127KB 下载

#### java算法题（四）

2009年10月12日 532B 下载

#### java算法题（五）

2009年10月12日 1KB 下载

#### java算法题（三）

2009年10月12日 559B 下载

#### java算法题（六）

2009年10月12日 1KB 下载

#### java算法题（七）

2009年10月12日 315B 下载

#### 阿里50个算法

2018年01月12日 6.32MB 下载

#### 一些算法刷题的网站

2017-10-31 14:39:14

#### 如何有效地写算法题

2018-01-11 22:17:00

#### 刷题算法小技巧

2016-08-30 16:43:49