题解 | #合并表记录#
合并表记录
http://www.nowcoder.com/practice/de044e89123f4a7482bd2b214a685201
1.再次强调一下,Linq太重要啦,兄弟们。。。。
using System;
using System.Collections.Generic;using System.Linq;
public class Program {
public static void Main() {
int line;
List<KeyValuePair<int,int>> lists=new List<KeyValuePair<int, int>>();
while(true)
{
line=Convert.ToInt32(Console.ReadLine());
while(lists.Count<line)
{
string line1=Console.ReadLine();
string[] token=line1.Split();
lists.Add(new KeyValuePair<int, int>(Convert.ToInt32(token[0]),Convert.ToInt32(token[1])));
}
break;
}
//不会linq这里就排序加求和就会很麻烦的,回了就是一个表达式问题
var vLists=lists.GroupBy(t=>t.Key).OrderBy(k=>k.Key).Select(n=>new
{
key=n.Key,
Total=n.Sum(m=>m.Value)
});
foreach(var item in vLists)
{
Console.WriteLine(item.key+" "+item.Total);
}
}
}