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

ช่องว่างที่ใหญ่ที่สุดใน Python


สมมติว่าเรามีรายการตัวเลขที่เรียกว่า nums เราต้องหาความแตกต่างที่ใหญ่ที่สุดของตัวเลขสองตัวติดต่อกันในเวอร์ชันที่จัดเรียงของ nums

ดังนั้น หากอินพุตเป็น [5, 2, 3, 9, 10, 11] ผลลัพธ์จะเป็น 4 เนื่องจากช่องว่างที่ใหญ่ที่สุดระหว่าง 5 และ 9 คือ 4

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

  • n :=เรียงลำดับรายการ nums
  • ans :=รายการใหม่
  • สำหรับฉันในช่วง 0 ถึงขนาด n -2 ทำ
    • ใส่ n[i+1]-n[i] ต่อท้ายคำตอบ
  • ผลตอบแทนสูงสุดของ ans

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

ตัวอย่าง

class Solution:
   def solve(self, nums):
      n = sorted(nums)
      ans = []
      for i in range(len(n)-1):
         ans.append(n[i+1]-n[i])
      return max(ans)
ob = Solution()
nums = [5, 2, 3, 9, 10, 11]
print(ob.solve(nums))

อินพุต

[5, 2, 3, 9, 10, 11]

ผลลัพธ์

4