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

Chương trình để kiểm tra chúng ta có thể sắp xếp lại mảng để tạo sự khác biệt giữa từng cặp phần tử giống nhau trong Python

Giả sử chúng ta có một danh sách gọi là nums, chúng ta phải kiểm tra xem liệu chúng ta có thể sắp xếp lại thứ tự của các num theo cách sao cho sự khác biệt giữa mọi cặp hai số liên tiếp là như nhau hay không.

Vì vậy, nếu đầu vào giống như nums =[8, 2, 6, 4], thì đầu ra sẽ là True, bởi vì nếu chúng ta sắp xếp lại các num như [2, 4, 6, 8], thì sự khác biệt giữa hai cặp các số liên tiếp là 2.

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

  • N:=kích thước của nums

  • nếu N <=2, thì

    • trả về True

  • sắp xếp số lượng danh sách

  • targetDiff:=nums [1] - nums [0]

  • đối với tôi trong phạm vi từ 2 đến N - 1, hãy thực hiện

    • nếu nums [i] - nums [i - 1] không giống targetDiff thì

      • trả về Sai

  • trả về True

Ví dụ

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

def solve(nums):
   N = len(nums)
   if N <= 2:
      return True
   nums.sort()
   targetDiff = nums[1] - nums[0]
   for i in range(2, N):
      if nums[i] - nums[i - 1] != targetDiff:
         return False
   return True

nums = [8, 2, 6, 4]
print(solve(nums))

Đầu vào

[8, 2, 6, 4]

Đầu ra

True