首页 > 其他 > 详细

查看是否为等差序列

时间:2018-12-29 19:04:53      阅读:121      评论:0      收藏:0      [点我收藏+]

刷知乎的时候看到的题目,思路是评论区大佬给的

有点像排序里的计数排序法

代码如下

def isArithmeticSequence(A):
    B = [0] * len(A)
    min_value = min(A)
    max_value = max(A)
    d = (max_value - min_value) // (len(A) - 1)
    for i in A:
        if (i - min_value) % d == 0:
            seq_num = (i - min_value) // d
            B[seq_num] = 1
    if sum(B) == len(A):
        return True
    else:
        return False

if __name__ == __main__:
    A = input("A sequence of numbers:\n")
    A = [i for i in map(int, A.strip().split())]
    if isArithmeticSequence(A):
        print("Yes")
    else:
        print(No)
    

 

查看是否为等差序列

原文:https://www.cnblogs.com/AcodingDg/p/10197546.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!