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
- nếu nums [i] - nums [i-1]> 1, thì
- 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