题解 | #明明的随机数#
明明的随机数
http://www.nowcoder.com/practice/3245215fffb84b7b81285493eae92ff0
1.首先该题要明白如何来满足输入输出的操作,第一次输出的数字,表示你接下来要输入几个数字
2.该题的排序是每一组进行排序,不是全部数据进行排序,我就是这里没看清楚查进行了全组排序去重,导致浪费了很多时间;以为是不能用库函数排序,还自己写了排序。。。。
3.C#多熟悉一下linq和lamba表达式,很有用的
using System.Linq;
using System.Collections.Generic;using System;
public class Program
{
public static void Main()
{
List<int> AllDataList=new List<int>();//全部数据存储链表
string line;
List<int> SigleLineDataList=null;
while(true)
{
line=System.Console.ReadLine();
if(!string.IsNullOrEmpty(line))
{
if(SigleLineDataList==null)
{
SigleLineDataList=new List<int>();//单行数据链表
}
else
{
SigleLineDataList.Clear();
}
for(int i=0;i<Convert.ToInt32(line);i++)
{
int iTemp=Convert.ToInt32(Console.ReadLine());
SigleLineDataList.Add(iTemp);
}
AllDataList.AddRange(SigleLineDataList.Distinct().OrderBy(t=>t).ToList());
}
else
{
break;
}
}
AllDataList.ForEach(t=>
{
Console.WriteLine(t.ToString());
});
}
/*public static List<int> Sort(List<int> list)
{
for(int i=0;i<list.Count();i++)
{
int t=list[i];
int j=i;
while((j>0)&&(list[j-1]>t))
{
list[j]=list[j-1];
}
list[j]=t;
}
return list;
}*/
}