试图在数组中找到模式(Python)

时间:2017-03-13 22:18:42

标签: python arrays pattern-matching

[0,4,13,23,16,3,0,-3,-11,-12,-5,-3,-2,0,-3,-5]

我试图找出我的数组中的整数是增加,减少,保持不变还是不遵循任何模式(随机)。  使用python执行此操作的有效方法是什么?

2 个答案:

答案 0 :(得分:2)

首先检查所有值是否相同。如果没有,请对其进行排序。如果副本与原始副本相同,则会增加。反转副本。如果它们是相同的,它会减少。否则它是随机的。

答案 1 :(得分:1)

就像一个想法: Init 2变量(inc,dec)为false。

使用范围(长度(列表)-1)循环遍历列表,并检查当前值是否大于或等于前一个值。如果值增加,则将inc设置为true(如果dec将var dec设置为true)。

迭代后检查哪个值设置为true。如果只有一个值为真,则知道它是否为dec / inc。如果两者都设置为true,则您有一些随机顺序。

请注意,如果dec / inc设置为true,您甚至可以在循环迭代期间进行检查,如果booth非常正确,您知道可以停止迭代(==随机)。