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