从Python中的数字列表中查找算术序列数的程序?
假设我们有一个称为nums的数字列表,我们必须找到长度≥3的连续算术序列的数量。众所周知,算术序列是一个数字列表,其中一个数字与下一个数字之间的差是相同的。
因此,如果输入类似于nums=[6、8、10、12、13、14],则输出将为4,因为我们具有以下算术序列:[6、8、10][8、10,12][6、8、10、12][12、13、14]
为了解决这个问题,我们将遵循以下步骤-
计数:=0,ANS:=0
对于范围在2到nums的i
ans:=ans+(count*(count+1))/2的商
计数:=0
数:=数+1
如果nums[i]-nums[i-1]与nums[i-1]-nums[i-2]相同,则
除此以外,
如果计数不为零,则
ans:=ans+(count*(count+1))/2的商
返回ans
让我们看下面的实现以更好地理解:
示例
class Solution:
def solve(self, nums):
count = 0
ans = 0
for i in range(2, len(nums)):
if nums[i] - nums[i - 1] == nums[i - 1] - nums[i - 2]:
count += 1
else:
ans += (count * (count + 1)) // 2
count = 0
if count:
ans += (count * (count + 1)) // 2
return ans
ob = Solution()nums = [6, 8, 10, 12, 13, 14]
print(ob.solve(nums))输入值
[6, 8, 10, 12, 13, 14]
输出结果
4
热门推荐
10 祝女儿简短祝福语大全
11 大学新年祝福语简短创意
12 元旦适合的祝福语简短
13 朋友出远门祝福语简短
14 初六简短的祝福语
15 祝男孩生日祝福语简短
16 同事调离的祝福语简短
17 拜年红包的祝福语简短
18 妈妈生日祝福语简短励志