第四章:如何同时寻找缺失和重复的元素

labuladong如何同时寻找缺失和重复的元素

645. 错误的集合

  • 利用set去重,并记录重复的元素
  • 遍历一遍range(1,len(nums)+1),找到并记录不存在于set中的元素
class Solution(object):
    def findErrorNums(self, nums):
        """
        :type nums: List[int]
        :rtype: List[int]
        """
        se=set()
        res=[]
        for i in nums:
            if i not in se:
                se.add(i)  # 利用set去重
            else:
                res.append(i) # 顺便记录重复的元素
        for i in range(1,len(nums)+1):
            if i not in se:
                res.append(i) # 找到并记录不存在于set中的元素
        return res

   转载规则


《第四章:如何同时寻找缺失和重复的元素》 M 采用 知识共享署名 4.0 国际许可协议 进行许可。
 上一篇
第四章:如何判断回文链表 第四章:如何判断回文链表
labuladong如何判断回文链表 234. 回文链表方法1:链表转列表,双指针逼近将链表转化为列表,然后利用左右双指针技巧,从两端到中间逼近 # Definition for singly-linked list. # class Li
2020-07-13
下一篇 
第四章:如何寻找缺失的元素 第四章:如何寻找缺失的元素
labuladong如何寻找缺失的元素 448. 找到所有数组中消失的数字 先遍历列表,并加到set中。利用 HashSet 去重 若元素不在列表中,则表示该元素缺失 class Solution(object): def fi
2020-07-13
  目录