2012-11-25 46 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