伪代码找到数组中最长的运行

sb1*_*sb1 0 pseudocode

我知道A run是一系列相邻的重复值,你如何编写伪代码来计算数组中最长运行的长度,例如

5将是这个整数数组中运行时间最长的.

1 2 4 4 3 1 2 4 3 5 5 5 5 3 6 5 5 6 3 1

任何想法都会有所帮助.

bpg*_*rgo 11

def longest_run(array):
  result = None
  prev = None
  size = 0
  max_size = 0
  for element in array:
    if (element == prev):
      size += 1
      if size > max_size:
        result = element
        max_size = size
    else:
      size = 0
    prev = element
  return result
Run Code Online (Sandbox Code Playgroud)

编辑

哇.哇哇!这个伪代码实际上是有效的:

>>> longest_run([1,2,4,4,3,1,2,4,3,5,5,5,5,3,6,5,5,6,3,1])
5
Run Code Online (Sandbox Code Playgroud)

  • 该死的蟒蛇:-P (9认同)