劍指offer 1 找出陣列中重複的數字

2021-09-06 08:29:17 字數 534 閱讀 9299

給定乙個長度為 n 的整數陣列 nums,陣列中所有的數字都在 0∼n−1 的範圍內。

陣列中某些數字是重複的,但不知道有幾個數字重複了,也不知道每個數字重複了幾次。

請找出陣列中任意乙個重複的數字。

注意:如果某些數字不在 0∼n−1 的範圍內,或陣列中不包含重複數字,則返回 -1;

樣例

給定 nums = [2, 3, 5, 4, 3, 2, 6, 7]。

返回 2 或 3。

常規做法

class solution 

if(flag)

return flag;

return-1

;}};

這個題最好的時間複雜度是o(n

)o(n)

o(n)

空間複雜度是可以降到o(1

)o(1)

o(1)

class solution 

return-1

;}};

劍指offer 1 數字中重複的數字

題目描述 在乙個長度為 n 的陣列裡的所有數字都在 0 到 n 1 的範圍內。陣列中某些數字是重複的,但不知道有幾個數字是重複的,也不知道每個數字重複幾次。請找出陣列中任意乙個重複的數字。input output 2解題思路 陣列元素在 0,n 1 範圍內的問題,可以將值為 i 的元素調整到第 i ...

劍指offer 找出陣列中重複的數字

問題 在乙個長度為n的陣列裡的所有數字都在0 n 1的範圍裡,不知道重複的數字,也不知道每個重複數字重複幾次,找出陣列中所有重複的數字,如輸入,則應輸出。要求1 能改變陣列中的數字 思路1 將陣列排序,然後遍歷陣列,找出重複的數字。時間複雜度o nlogn 空間複雜度o 1 思路1的實現 vecto...

劍指offer 找出陣列中重複的數字

題目 在乙個長度為n的陣列裡的所有數字都在0 n 1的範圍內。陣列中某些數字是重複的,但是不知道有幾個數字重複了,也不知道每個數字重複了幾次,請找出陣列中任意乙個重複的數字。例如,如果輸入長度為7的陣列,那麼輸出的重複數字2或者3.分析 陣列中的數字為0 n 1的範圍內,如果再這個陣列中不存在重複的...