Несоответствие множества

У вас есть набор целых чисел s, который изначально содержит все числа от 1 до n. К сожалению, из-за какой-то ошибки одно из чисел в s было продублировано другим числом в наборе, что привело к повторению одного числа и потере другого.

Вам дан целочисленный массив nums, представляющий состояние данных этого набора после ошибки.

Найдите число, которое встречается дважды, и число, которое отсутствует, и верните их в виде массива.


from collections import Counter

class Solution(object):
    def findErrorNums(self, nums):
        """
        :type nums: List[int]
        :rtype: List[int]
        """

        def findMissing(ns):
            for i in range(1, len(ns) + 1):
                if i not in ns:
                    return i


        c = Counter(nums).items()
        res = 0 

        for k, v in c:
            if v == 2:
                res = k
                break 

        return [res, findMissing(nums)]






Вход в полноэкранный режим Выход из полноэкранного режима

Оцените статью
devanswers.ru
Добавить комментарий