Computer >> Máy Tính >  >> Lập trình >> Python

Chương trình tìm số nguyên thấp nhất có thể bị thiếu trong mảng bằng Python

Giả sử chúng ta có một danh sách các số được gọi là num, chúng ta phải tìm số dương đầu tiên bị thiếu. Nói cách khác, số dương thấp nhất không có trong mảng. Mảng này cũng có thể chứa các số trùng lặp và số âm.

Vì vậy, nếu đầu vào là nums =[0,3,1], thì đầu ra sẽ là 2

Để giải quyết vấn đề này, chúng tôi sẽ làm theo các bước sau -

  • nums:=một tập hợp với tất cả các số dương có trong nums

  • nếu nums là null thì

    • trả lại 1

  • đối với tôi trong phạm vi từ 1 đến kích thước của nums + 2, hãy thực hiện

    • nếu tôi không có mặt trong nums, thì

    • trả lại tô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, nums):
      nums = set(num for num in nums if num > 0)

      if not nums:
         return 1
      for i in range(1, len(nums) + 2):
         if i not in nums:
            return i
ob = Solution()
nums = [0,3,1]
print(ob.solve(nums))

Đầu vào

[0,3,1]

Đầu ra

2