2013-09-29 42 views
0

我需要查找int[]數組是否包含重複項。我無法使用集合。整型數組中的Java重複項

我的解決方案(其不工作)是:

boolean containsDuplicates(int[]list1, int[]list2) { 
    if (list1.length != list2.length) { 
    return false; 
    } 
    for (int i = 0; i < list1.length; i++) { 
    if (list1[i] != list2[i]) { 
     return false; 
    } 
    } 
    return true; 
} 
+5

問題是什麼?你寫了這個代碼嗎?如果是,那麼改變它接受'int []'的方法有什麼問題。 –

+0

這個問題是否有任何內存限制? – fvrghl

+0

爲什麼兩個不同長度的列表不能包含相同的整數? – Zavior

回答

2

的溶液,最好不用在運算週期但沒有內存開銷:

  1. 環路從0迭代數組A到N與指數M
  2. 嵌套循環迭代從M + 1到N與性索引
  3. 如果(A [M] = A [S])返回true
  4. 返回false(找不到重複)
0
private boolean hasDuplicates(int []inArray) 
{ 
    for(int i = 0; i < inArray.length - 1; i++) 
     for(int j = i + 1; j < inArray.length; j++) 
      if(inArray[i] == inArray[j]) 
       return true; 
    return false; 
} 
+4

做其他人的功課,特別是直接的答案,幫助沒有人:< – Zavior