สมมติว่าเรามีรายการตัวเลขชื่อ nums เราต้องหาความต่างที่มากที่สุดของสองตัวเลขติดกันในเวอร์ชันที่เรียงแล้วของ nums
ตัวอย่าง
หากอินพุตคือ [5, 2, 3, 9, 10, 11] ผลลัพธ์จะเป็น 4 เนื่องจากช่องว่างมากที่สุดระหว่าง 5 และ 9 คือ 4
ขั้นตอนการแก้ปัญหา
n:= รายการnumsที่เรียงแล้วans:= รายการใหม่- ลูป
iจาก 0 ถึงขนาดของn- 2:- เพิ่ม
n[i+1] - n[i]เข้าไปในans
- เพิ่ม
- คืนค่าค่าสูงสุดของ
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