2012-11-25 45 views

回答

2

您的C#版本创建了三个您似乎不需要的数组。

string input = Console.ReadLine(); 
int charCount = input.Distinct().Count(); 
if(charCount % 2 == 0) ... 

以下是可能会比较快尚:您可以将其替换为

int charCount = new HashSet<char>(input).Count; 
5

鉴于方案给出,该方案的重要位的执行时间 - 寻找独特的人物 - 铁定不是需要109ms。这听起来像是什么“在线判断”涉及到的是测量总执行时间,包括进程启动,.NET中的JITting等。

这有点像问哪辆车更快从车库出来,代表汽车的速度。

现在是完全可能的,PHP的array_unique功能真的非常快,可能快于LINQ ...但基本上你不能得到任何有用的信息出来的基准测试结果。你应该寻找能够执行几秒钟而不是几毫秒的基准,并且哪一个不包括包括启动/预热时间,除非这是你特别感兴趣的。

+1

实际上,“0kB”方面是也相当可观! – Gabe