Python程式:檢查序列是否能構成等差數列
假設我們有一個名為nums的數字列表。我們必須檢查nums中存在的元素是否構成等差數列。眾所周知,在等差數列中,任何兩個連續元素之間的公差都是相同的。
因此,如果輸入類似於nums = [9,1,17,5,13],則輸出將為True,因為如果我們對它們進行排序,它將是[1,5,9,13,17],並且這裡每對元素的公差都是4。
為了解決這個問題,我們將遵循以下步驟:
nums := 對列表nums進行排序
如果nums中的元素個數 > 1,則
const := nums[1] - nums[0]
否則,
返回True
對於i從0到nums的大小-1,執行以下操作:
如果nums[i+1] - nums[i]與const不同,則
返回False
返回True
示例(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))
輸入
[9,1,17,5,13]
輸出
True
廣告