在乙個長度為 n 的陣列 nums 裡的所有數字都在 0~n-1 的範圍內。陣列中某些數字是重複的,但不知道有幾個數字重複了,也不知道每個數字重複了幾次。請找出陣列中任意乙個重複的數字。
示例 1:
輸入:
[2, 3, 1, 0, 2, 5, 3]
輸出:
2 或 3
限制:
2 <= n <= 100000
class
solution
set.
add(nums[i]);
}return repeat;
}}
解析
最簡單的方式就是把陣列中的元素乙個個加入到集合set中,加入的時候如果有重複的,則直接返回
set
set =
newhashset
();
set是乙個介面,不可以直接生成物件,所有使用hashset,是乙個多型
並且set的范型只可以是包裝類
其他方法:
先排序在查詢,排序之後有重複的肯定是挨著的,然後前後兩兩比較,如果有重複的直接返回
public
intfindrepeatnumber
(int
nums)
return-1
;}
找出陣列中重複的數字
面試題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 利用雜湊表 從頭到尾掃瞄每個數字,每掃瞄乙個數...