【发布时间】:2014-07-07 06:09:16
【问题描述】:
我最近参加了一项 Codility 测试,问题是找到数字序列中的第一个唯一数字。虽然我使用 LINQ 得到了正确的结果,但它显然在计算上过于昂贵且不够可扩展。
我将如何改进我的解决方案?
var a = new int[] {1, 2, -3, 4, 5, -6, 0, 8, 9, 1, 2};
const int expected = -3;
var retVal = -1;
var y = a.GroupBy(z => z).Where(z => z.Count() == 1).Select(z => z.Key).ToList();
if (y.Count > 0) retVal = y[0];
Console.Write(retVal==expected);
【问题讨论】:
-
Code Review 会不会更好?