【发布时间】:2011-09-01 14:43:34
【问题描述】:
我有一个 2D 数组,我想找到一种更简单的方法来操作我的代码,以便它会发现列中是否存在重复,并且比我下面的方法更简单:
for (int i=0; i < array.length; i++) {
for (int j=0; j < array.length; j++) {
for (int k=1; k < array.length; k++){
if (array[j+k][i] == array[j][i]) {
if (array[j][i] != 0) {
return true;
}
}
}
}
}
return false;
编辑:请指出以上内容 ^^ 不会工作,因为它会抛出一个超出范围的异常
这种方式有太多的循环,我相信一定有一种更简单的方法来查找重复项,而不是经历这个庞大的循环过程。
这是一个方形二维数组,即。行 = 列的数组。
如果是这样,这种新方法如何工作 - 我如何操作它以找到行中的重复值。
感谢您的帮助。
【问题讨论】:
-
不会数组[j+k][i] 为 k=j=length-1 抛出 OutOfBoundException 吗?
-
哦,当然会。谢谢指出,一直没意识到。谢谢。
-
您的要求不够明确。你想找到所有重复值的索引吗?您在哪里指定要查找的副本是什么?你为什么想知道这样的事情?我投票结束这个问题。
-
我正在寻找行和列中是否存在重复值。这是一个需要这个的项目。
标签: java arrays loops for-loop duplicates