Java在整数数组中重复

时间:2013-09-29 09:50:58

标签: java

我需要查找int[]数组是否包含重复项。我不能使用收藏品。

我的解决方案(不起作用)是:

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;
}

2 个答案:

答案 0 :(得分:2)

一种解决方案,不是最好的计算周期,但没有内存开销:

  1. 使用索引M
  2. 将数组A从0迭代到N的循环
  3. 一个嵌套循环,用于将A从M + 1迭代到N,索引为S
  4. if(A [M] = A [S])返回true
  5. 返回false(未找到重复项)

答案 1 :(得分: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;
}