645 錯誤的集合

2022-05-13 09:00:37 字數 858 閱讀 4537

集合 s 包含從1到 n 的整數。不幸的是,因為資料錯誤,導致集合裡面某乙個元素複製了成了集合裡面的另外乙個元素的值,導致集合丟失了乙個整數並且有乙個元素重複。

給定乙個陣列 nums 代表了集合 s 發生錯誤後的結果。你的任務是首先尋找到重複出現的整數,再找到丟失的整數,將它們以陣列的形式返回。

示例 1:

輸入: nums = [1,2,2,4]

輸出: [2,3]

注意:給定陣列的長度範圍是 [2, 10000]。

給定的陣列是無序的。

無腦字典,效率太低

class

solution:

def finderrornums(self, nums: list[int]) ->list[int]:

dict={}

for i in

range(len(nums)):a

dict[nums[i]]=0

for n in

nums:

dict[n]+=1

if dict[n]==2:a=n

for i in range(1,1+len(nums)):

if i not

in nums:b=i

return [a,b]

做成數學題

class

solution:

def finderrornums(self, nums: list[int]) ->list[int]:

a=sum(nums) -sum(set(nums))

b=sum(range(1, len(nums)+1))-sum(set(nums))

return [a,b]

645 錯誤的集合

鏈結 集合 s 包含從1到 n 的整數。不幸的是,因為資料錯誤,導致集合裡面某乙個元素複製了成了集合裡面的另外乙個元素的值,導致集合丟失了乙個整數並且有乙個元素重複。給定乙個陣列 nums 代表了集合 s 發生錯誤後的結果。你的任務是首先尋找到重複出現的整數,再找到丟失的整數,將它們以陣列的形式返回...

645 錯誤的集合

集合 s 包含從1到 n 的整數。不幸的是,因為資料錯誤,導致集合裡面某乙個元素複製了成了集合裡面的另外乙個元素的值,導致集合丟失了乙個整數並且有乙個元素重複。給定乙個陣列 nums 代表了集合 s 發生錯誤後的結果。你的任務是首先尋找到重複出現的整數,再找到丟失的整數,將它們以陣列的形式返回。示例...

645 錯誤的集合

集合 s 包含從 1 到 n 的整數。不幸的是,因為資料錯誤,導致集合裡面某乙個數字複製了成了集合裡面的另外乙個數字的值,導致集合 丟失了乙個數字 並且 有乙個數字重複 給定乙個陣列 nums 代表了集合 s 發生錯誤後的結果。請你找出重複出現的整數,再找到丟失的整數,將它們以陣列的形式返回。示例 ...