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

ช่องว่างมากที่สุดใน Python

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

ตัวอย่าง

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

ขั้นตอนการแก้ปัญหา

  1. n := รายการ nums ที่เรียงแล้ว
  2. ans := รายการใหม่
  3. ลูป i จาก 0 ถึงขนาดของ n - 2:
    • เพิ่ม n[i+1] - n[i] เข้าไปใน ans
  4. คืนค่าค่าสูงสุดของ 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