Computer >> Máy Tính >  >> Lập trình >> Python

Phạm vi nhỏ nhất I trong Python

Giả sử chúng ta có một mảng A gồm các số nguyên, bây giờ với mỗi số nguyên A [i], chúng ta có thể chọn x bất kỳ có phạm vi [-K đến K] sau đó thêm x vào A [i]. Bây giờ sau quá trình này, chúng ta có một số mảng B. Chúng ta phải tìm sự khác biệt nhỏ nhất có thể giữa giá trị lớn nhất của B và giá trị nhỏ nhất của B.

Vì vậy, nếu đầu vào là A =[0,10], K =2, thì đầu ra sẽ là 6, là B =[2,8]

Để giải quyết vấn đề này, chúng tôi sẽ làm theo các bước sau -

  • MAX:=(tối đa là A) - K
  • MIN:=(tối thiểu là A) + K
  • chênh lệch:=MAX - MIN
  • nếu chênh lệch <0 khác 0, thì
    • trả về 0
  • nếu không thì trả lại chênh lệch

Hãy cùng chúng tôi xem cách triển khai sau để hiểu rõ hơn -

Ví dụ

class Solution:
   def smallestRangeI(self, A, K):
      MAX = max(A)-K
      MIN = min(A)+K
      difference = MAX-MIN
      if difference <0:
         return 0
      else:
         return difference
ob = Solution()
print(ob.smallestRangeI([0,10],2))

Đầu vào

[0,10],2

Đầu ra

6