1 找出陣列中重複的數字

2021-09-26 11:11:16 字數 502 閱讀 9274

方法1:通過構建hashmap,記錄每個值的重複情況。

複雜度:o(n),o(1)

class solution 

mapmap = new hashmap<>();

for(int i = 0;i < nums.length;i++)else

}return -1;

}}

方法2:由於題目特徵,構建1-n-1的桶 ,將每個數字放到對應下標的正確位置,

從0開始遍歷,不斷交換i上的數字和正確位置。如果遇到位置正確的,說明是重複數字;

否則交換二者,將該數字放在正確的位置上;

複雜度:o(n)

class solution 

for(int i = 0; i < n; i++)else}}

return -1;

}public void swap(int nums,int i,int j)

}

找出陣列中重複的數字

面試題3 一 找出陣列中重複的數字 題目 在乙個長度為n的陣列裡的所有數字都在0到n 1的範圍內。陣列中某些數字是重複的。請找出陣列中任意乙個重複的數字。例如,如果輸入長度為7的陣列,那麼對應的輸出是重複的數字2或者3。static bool get duplicate num1 std vecto...

找出陣列中重複的數字

給定乙個長度為 n 的整數陣列 nums,陣列中所有的數字都在 0 n 1 的範圍內。陣列中某些數字是重複的,但不知道有幾個數字重複了,也不知道每個數字重複了幾次。請找出陣列中任意乙個重複的數字。注意 如果某些數字不在 0 n 1 的範圍內,或陣列中不包含重複數字,則返回 1 給定 nums 2,3...

找出陣列中重複的數字

在乙個長度為n的陣列中,所有的數字都在0 n 1的範圍內。陣列中某些數字是重複的,但不知道有幾個數字重複了,也不知道每個陣列重複了幾次。請找出陣列中任意乙個重複的數字。例 輸入長度為7的陣列,對應的輸出的重複的數字是2或3。方法1 先排序在查詢 方法2 利用雜湊表 從頭到尾掃瞄每個數字,每掃瞄乙個數...