2012-01-08 85 views
-2

鑑於例如C#陣列(重複的元素)

int[] x = {2,5,5}; 

如何找到如果重複元件的陣列。請一些最簡單的方法。

+2

你能弄清楚你想要什麼?你想知道所有重複元素還是檢查某個重複元素?另外,2,5,2會算作重複還是連續重複? – 2012-01-08 20:33:30

+0

是的,我在迭代時陷入困境。 – 2012-01-08 20:33:39

+2

「元素重複」是什麼意思?重複是否需要連續? – CodesInChaos 2012-01-08 20:34:21

回答

3

由於重複不必是連續的:

x.Length!=x.Distinct().Count() 
+0

應該是'Array.length - 2'以避免來自'arr [i + 1]'的OOB異常? – jprofitt 2012-01-08 20:45:33

+0

@jprofitt否-1是正確的。我用'<'不是'<=' – CodesInChaos 2012-01-08 20:46:41

+0

@CodeInChaos,你剛剛從我的代碼中移除了混沌。它充滿了,如果沒有,現在只是一條線。 – 2012-01-08 20:50:19

1

我知道它已經已經回答了,但也許這會感興趣:

bool isRepeated = false; 
for (int i = 0; i < x.Length; i++) 
{ 
    for (int j = i + 1; j < x.Length; j++) 
    { 
     if (x[i] == x[j]) 
     { 
      isRepeated = true; 
      break; 
     } 
    } 
    if (isRepeated) break; 
} 
Text = isRepeated.ToString(); 
+0

謝謝ispiro,的確對我的筆記本有很大的幫助和補充! :) – 2012-01-10 04:19:31