難度:簡單
????????集合?
s
?包含從?1
?到?n
?的整數。不幸的是,因為數據錯誤,導致集合里面某一個數字復制了成了集合里面的另外一個數字的值,導致集合?丟失了一個數字?并且?有一個數字重復?。????????給定一個數組?
nums
?代表了集合?S
?發生錯誤后的結果。請你找出重復出現的整數,再找到丟失的整數,將它們以數組的形式返回。
示例 1:
輸入:nums = [1,2,2,4] 輸出:[2,3]示例 2:
輸入:nums = [1,1] 輸出:[1,2]提示:
2 <= nums.length <= 104
1 <= nums[i] <= 104
題解:
class Solution(object):def findErrorNums(self, nums):res = []chongfu_num = sum(nums) - sum(set(nums))res.append(chongfu_num)sum_n = (len(nums) * (len(nums)+ 1) // 2)diushi_num = sum_n - sum(set(nums))res.append(diushi_num)return res