检测2D数组是否具有重复/重复值的最简单/最简单/最有效的方法是什么?
e.g。 2D阵列:
{{2, 17, 4, 5} {3, 2, 34 9}}
此矩阵具有多个“2”值。
如果是这种情况,我想将布尔值设置为true。
提前致谢!
答案 0 :(得分:3)
我认为你在这里做的最好的是O(n),因为在你检查它之前你不会知道最后一个元素是否重复。这是一个想法:
拥有Set
个值。迭代2d数组,并为每个元素执行此操作:
if (!set.add(element))
// a duplicate was found!
这是有效的,因为Set.add返回“如果此集合尚未包含指定元素,则返回true”