劍指 Offer 03 陣列中重複的數字

2021-10-09 02:23:13 字數 686 閱讀 1351

找出陣列中重複的數字。

在乙個長度為 n 的陣列 nums 裡的所有數字都在 0~n-1 的範圍內。陣列中某些數字是重複的,但不知道有幾個數字重複了,也不知道每個數字重複了幾次。請找出陣列中任意乙個重複的數字。

示例 1:

輸入:[2, 3, 1, 0, 2, 5, 3]

輸出:2 或 3 

限制:2 <= n <= 100000

因為不需要知道有幾個數字重複了,也不需要知道重複了幾次,所以當遍歷到乙個重複的數字時,就可以將其返回。利用python的set不能存放重複元素的特性,將陣列中的元素取出來,如果存在於set中就返回,不存在,就新增進set中。

class solution:

def findrepeatnumber(self, nums) -> int:

nums_set = set()

for i in nums:

if i in nums_set:

print(i)

return i

else:

nums_set.add(i)

if __name__ == "__main__":

nums = [2, 3, 1, 0, 2, 5, 3]

a = solution()

a.findrepeatnumber(nums)

劍指offer03 陣列中重複的數字

在乙個長度為 n 的陣列 nums 裡的所有數字都在 0 n 1 的範圍內。陣列中某些數字是重複的,但不知道有幾個數字重複了,也不知道每個數字重複了幾次。請找出陣列中任意乙個重複的數字。示例 1 輸入 2,3,1,0,2,5,3 輸出 2 或 3限制 2 n 100000 首先拿到這道題最先想到的是...

劍指Offer03 陣列中重複的數字

劍指offer典型題整理 爭取做最好的題解 題目描述 在乙個長度為 n 的陣列 nums 裡的所有數字都在 0 n 1 的範圍內。陣列中某些數字是重複的,但不知道有幾個數字重複了,也不知道每個數字重複了幾次。請找出陣列中任意乙個重複的數字。示例 輸入 2,3,1,0,2,5,3 輸出 2 或 3 限...

劍指offer 03陣列中重複的數字

找出陣列中重複的數字。在乙個長度為 n 的陣列 nums 裡的所有數字都在 0 n 1 的範圍內。陣列中某些數字是重複的,但不知道有幾個數字重複了,也不知道每個數字重複了幾次。請找出陣列中任意乙個重複的數字。示例 1 輸入 2,3,1,0,2,5,3 輸出 2 或 3 限制 2 n 100000 首...