Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

โปรแกรมค้นหาจำนวนเต็มบวกแรกที่ขาดหายไปในช่วงใน Python


สมมติว่าเรามีรายชื่อของจำนวนเต็มที่แตกต่างกันของขนาด n ที่จัดเรียงแล้ว เราต้องหาจำนวนบวกตัวแรกในช่วง [1 ถึง n+1] ที่ไม่มีอยู่ในอาร์เรย์

ดังนั้น หากอินพุตเป็น nums =[0,5,1] เอาต์พุตจะเป็น 2 เนื่องจาก 2 เป็นตัวเลขแรกที่หายไปในช่วง 1 ถึง 5

เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ -

  • เป้าหมาย :=1

  • สำหรับแต่ละ i arr ทำ

    • ถ้าฉันเป็นเหมือนเป้าหมายแล้ว

      • เป้าหมาย :=เป้าหมาย + 1

  • คืนเป้าหมาย

ให้เราดูการใช้งานต่อไปนี้เพื่อความเข้าใจที่ดีขึ้น -

ตัวอย่าง

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))

อินพุต

[0,5,1]

ผลลัพธ์

2