สมมติว่าเรามีรายชื่อของจำนวนเต็มที่แตกต่างกันของขนาด 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