給定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)。 –