Cho danh sách nums. Kiểm tra xem các phần tử có tạo thành cấp số cộng (AP) hay không (sau khi sắp xếp).
Ví dụ: nums = [9,1,17,5,13] → True vì sắp xếp thành [1,5,9,13,17], công sai = 4.
Thuật toán
- Sắp xếp nums.
- Nếu độ dài > 1, const = nums[1] - nums[0]; ngược lại trả về True.
- Duyệt i từ 0 đến len(nums)-2: nếu nums[i+1] - nums[i] != const, trả về False.
- Trả về True.
Ví dụ (Python)
def solve(nums):
nums = sorted(nums)
if len(nums) > 1:
const = nums[1] - nums[0]
else:
return True
for i in range(len(nums)-1):
if nums[i+1] - nums[i] != const:
return False
return True
nums = [9,1,17,5,13]
print(solve(nums))
Đầu vào
[9,1,17,5,13]
Đầu ra
True