给定2个数组,如何快速找出它们是否相同的值?Java - 如何查找2个数组是否相互重复?
例如,ARR1和ARR2被认为是相同的,因为它们含有相同的值,而ARR2和ARR3不
int[] arr1 = new int[]{-1, 0, 1};
int[] arr2 = new int[] {-1, 0, 1};
int[] arr3 = new int[] {0, -1, 1}; // not identical
什么是找出最快的方法是什么?我知道一个for循环会起作用,但是你能更快速地说,时间不变吗? HashSet不起作用,因为技术上arr1和arr2是不同的对象
Edit1:如果有N个数组,我们想要过滤出唯一的数组?
'阵列.equals'? –
只要注意,无论你使用什么方法 - 它仍然会在内部涉及一个循环,因此不会是恒定的时间。 – RealSkeptic
这实际上并不是恒定的时间。你至少必须读取两个数组的所有元素,至少是O(n)。 –