for (int i = 0; i < array.length; i++) {
for (int j = i + 1; j < array.length; j++) {
if (array[i] == array[j]) return true;
}
}
编辑:忘记添加外部循环。我被初始化为零。
为什么这段代码执行(n / 2)次而不是(n)次?
答案 0 :(得分:3)
此循环平均执行n / 2次:
如果你将第一行添加到最后一行,第二行从后面添加第二行,第三行从后面添加,依此类推,每对将产生n-1;对于n的偶数值,将有n / 2个这样的对,因此循环在n上执行的平均次数是n / 2.