找出陣列中重複的數字。
在乙個長度為 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 首...