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

โปรแกรมค้นหาความแตกต่างต่ำสุดของ max และ mins หลังจากอัปเดตองค์ประกอบไม่เกินสามครั้งใน Python


สมมติว่าเรามีรายการตัวเลขที่เรียกว่า nums ตอนนี้ให้พิจารณาการดำเนินการที่เราสามารถอัปเดตองค์ประกอบเป็นค่าใดก็ได้ เราสามารถดำเนินการดังกล่าวได้ไม่เกิน 3 รายการ เราต้องหาผลต่างขั้นต่ำระหว่างค่าสูงสุดและค่าต่ำสุดเป็น num

ดังนั้น หากอินพุตเป็น nums =[2, 3, 4, 5, 6, 7] ผลลัพธ์จะเป็น 2 เนื่องจากเราสามารถเปลี่ยนรายการเป็น [4, 3, 4, 5, 4, 4] แล้ว 5 - 3 =2.

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

  • ถ้าขนาดของ nums <=4 แล้ว
    • คืน 0
  • n :=ขนาดของ nums
  • เรียงเลขรายการ
  • คืนค่าขั้นต่ำของความแตกต่างระหว่าง nums[n-4 + i] - nums[i] สำหรับ i ทั้งหมดในช่วง 0 ถึง 3

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

ตัวอย่าง

class Solution:
   def solve(self, nums):
      if len(nums) <= 4:
         return 0
      nums.sort()
      return min(nums[-4 + i] - nums[i] for i in range(4))
ob = Solution()
nums = [2, 3, 4, 5, 6, 7] print(ob.solve(nums))

อินพุต

[2, 3, 4, 5, 6, 7]

ผลลัพธ์

2