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

โปรแกรมหาเลข k ที่หายไปจากรายการองค์ประกอบใน Python


สมมติว่าเรามีรายการหมายเลขเฉพาะที่เรียกว่า nums และจำนวนเต็ม k เราต้องหาหมายเลขที่ k ขาดหายไปจากองค์ประกอบแรกของรายการที่กำหนด

ดังนั้น หากอินพุตมีค่าเท่ากับ nums =[5,6,8,10,11], k =1 ผลลัพธ์จะเป็น 9 เนื่องจาก 9 เป็นตัวเลขที่สอง (ดัชนี 1) ที่หายไป

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

  • สำหรับฉันในช่วง 1 ถึงขนาดของ nums ทำ

    • diff :=nums[i] - nums[i - 1] - 1

    • ถ้า k>=ต่างกัน ดังนั้น

      • k :=k - แตกต่าง

    • มิฉะนั้น

      • คืนค่า nums[i - 1] + k + 1

  • คืนค่า nums[-1] + k + 1

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

ตัวอย่าง

class Solution:
   def solve(self, nums, k):
      for i in range(1, len(nums)):
         diff = nums[i] - nums[i - 1] - 1
         if k >= diff:
            k -= diff
         else:
            return nums[i - 1] + k + 1
      return nums[-1] + k + 1

ob = Solution()
nums = [5,6,8,10,11]
k = 1
print(ob.solve(nums, k))

อินพุต

[5,6,8,10,11], 1

ผลลัพธ์

9