在 Python 中检查我们是否可以从序列中创建等差数列的程序

在 Python 中检查我们是否可以从序列中创建等差数列的程序

假设我们有一个名为 nums 的数字列表。我们必须检查 nums 中的元素是否形成 AP(等差数列)序列。我们知道,在 AP 序列中,任何两个相邻元素之间的公差都相同。

因此,如果输入是 nums = [9,1,17,5,13],那么输出将为 True,因为如果我们对它们进行排序,它将变为 [1,5,9,13,17] 并且这里每一对元素的公差都为 4。

要解决这个问题,我们要遵循以下步骤−

  • nums := 对列表 nums 进行排序

  • 如果 nums 中的元素数 > 1,则

    • const := nums[1] – nums[0]
  • 否则,
    • 返回 True
  • 对于 i 在 range 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

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程