標籤:http ar for 資料 sp on 代碼 ad ef
轉自:http://bbs.csdn.net/topics/310249367
超級大笨狼
題目:有一個字串數組 List<string>="abc","bac","acb".....10萬個元素,每個長度在3到16個字元。
只保留其中一個組合,也就是說對於字串內容相同,只是字元組合順序不同的字串進行刪除。
要求結果在一秒內算出。
下面是輸入的資料:
static void Main(string[] args)
{
//10萬個字串。
int totalStr = 10*10000;
List <string> myArr = new List <string>();
int totalLength = 0;
char[] input = "白日依山盡黃河入海流欲窮千裡目更上一層樓危樓高百尺可以摘星辰不感高聲語恐驚天上人".ToCharArray();
Random rand = new Random();
for (int i = 0; i < totalStr; i++)//10萬個資料
{
string tempStr = "";
int tempLength = rand.Next(3, 16); //3到16個字元
for (int j = 0; j < tempLength; j++)
{
tempStr += input[rand.Next(0, input.Length)];//用a-z英文測試
}
totalLength += tempLength;
myArr.Add(tempStr);
}
//測試開始
long begin = System.DateTime.Now.Ticks;
//這裡寫程式碼,可以寫函數或類什麼的在此調用。
。。。。。。。。
long end = System.DateTime.Now.Ticks;
Console.WriteLine("總共" + totalStr/10000 + "萬個資料,總長度" + totalLength + ",做完需要" + System.TimeSpan.FromTicks(end - begin).Milliseconds + "毫秒");
Console.ReadLine();
}
轉:去掉重複的字串組合