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

Kiểm tra xem mảng có chứa các số nguyên liền kề có cho phép trùng lặp trong Python hay không

Giả sử chúng ta có một mảng số được gọi là nums, nó có thể có các phần tử trùng lặp. Chúng tôi phải kiểm tra xem đó có phải là một tập hợp các số liền nhau hay không.

Vì vậy, nếu đầu vào giống như nums =[6, 8, 8, 3, 3, 3, 5, 4, 4, 7], thì đầu ra sẽ đúng vì các phần tử là 3, 4, 5, 6, 7 , 8.

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

  • sắp xếp các số trong danh sách
  • đối với tôi trong phạm vi từ 1 đến kích thước là nums - 1, thực hiện
    • nếu nums [i] - nums [i-1]> 1, thì
      • trả về Sai
  • trả về True

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

Ví dụ

def solve(nums):
   nums.sort()
   for i in range(1,len(nums)):
      if nums[i] - nums[i-1] > 1:
         return False
   return True
nums = [6, 8, 8, 3, 3, 3, 5, 4, 4, 7] 
print(solve(nums))

Đầu vào

[6, 8, 8, 3, 3, 3, 5, 4, 4, 7]

Đầu ra

True