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

โปรแกรมหาจำนวนเต็มบวกที่หายไปตัวแรกในช่วง 1 ถึง N+1 ใน Python

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

ตัวอย่าง: nums = [0, 5, 1] ผลลัพธ์ 2 (หายไปในช่วง 1-5)

ขั้นตอนการแก้ปัญหา (Linear Scan)

  1. target = 1
  2. วนลูปผ่านแต่ละ i ใน arr:
    • หาก i == target ให้ target += 1
  3. คืนค่า target

ตัวอย่างโค้ด Python

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))  # Output: 2

อินพุต

[0, 5, 1]

เอาต์พุต

2