Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Kiểm tra mảng chứa các số nguyên liên tiếp (cho phép trùng lặp) trong Python

Cho mảng nums có thể có phần tử trùng lặp. Kiểm tra xem tập các giá trị khác nhau có tạo thành dãy số liên tiếp hay không.

Ví dụ: [6,8,8,3,3,3,5,4,4,7] → các giá trị khác nhau: 3,4,5,6,7,8 → liên tiếp → True.

Giải thuật

  • Sắp xếp mảng.
  • Duyệt mảng, nếu hiệu giữa hai phần tử liên tiếp > 1 → False.

Mã 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