Учитывая список целых чисел, я хочу найти первый пропущенный положительный.Моя идея состояла в том, чтобы сделать это, используя переменную внутри цикла for, чтобы избежать беспорядка.Вот что я сделал:
class Solution:
def firstMissingPositive(self, nums: List[int]) -> int:
sort_list = sorted(nums)
holder = 0
item = 1
for item in range(len(sort_list)):
if sort_list[item] != item:
holder = item
return holder
Так вот, что я сделал.Сначала я отсортировал список по возрастанию.Затем я инициализировал 2 переменные holder = 0
и item = 1
.Поскольку данный список должен начинаться с 1, я также попытался запустить цикл for с 1.Причина в том, что если бы мне дали список типа [7, 8, 9, 5, 5, 3]
, первым пропущенным положительным должен быть один.В любом случае, затем я попытался перебрать каждый элемент в списке, чтобы увидеть, сравнивается ли он item
, а если нет, я присвоил holder = item
и возвратил holder
.Однако, в конечном итоге он вернул 0, когда мой ввод был [1, 2, 0]
, когда он должен был вернуть 3.