Giả sử chúng ta có một danh sách được sắp xếp gồm các số nguyên riêng biệt có kích thước là n, chúng ta phải tìm số dương đầu tiên trong phạm vi [1 đến n + 1] không có trong mảng.
Vì vậy, nếu đầu vào là nums =[0,5,1], thì đầu ra sẽ là 2, vì 2 là số còn thiếu đầu tiên trong phạm vi từ 1 đến 5.
Để giải quyết vấn đề này, chúng tôi sẽ làm theo các bước sau -
-
target:=1
-
đối với mỗi tôi trong arr, hãy làm
-
nếu tôi giống với mục tiêu, thì
-
target:=target + 1
-
-
-
mục tiêu trả lại
Hãy cùng chúng tôi xem cách triển khai sau để hiểu rõ hơn -
Ví dụ
class Solution: def solve(self, arr): target = 1 for i in arr: if i == target: target += 1 return target ob = Solution() nums = [0,5,1] print(ob.solve(nums))
Đầu vào
[0,5,1]
Đầu ra
2