A = [3,2,5,4,4,4,4,2,4,4]
def findLongestContinuousSection(A):
if len(A) == 0:
return
longestStart = 0
longestStop = 0
longestLength = 0
longestVal = 0
curStart = 0
curStop = 0
curLength = 1
curVal = A[0]
for k in range(1,len(A)-1):
if curVal != A[k] and curLength > longestLength: # record cur as longest
longestVal = curVal
longestStart = curStart
longestStop = curStop
longestLength = curLength
curStart = k
curStop = k
curLength = 1
curVal = A[k]
else: # continue to build current streak
curStop = k
curLength += 1
return (longestStart, longestStop, longestLength, longestVal)
print findLongestContinuousSection(A)
CkEgPSBbMywyLDUsNCw0LDQsNCwyLDQsNF0KCmRlZiBmaW5kTG9uZ2VzdENvbnRpbnVvdXNTZWN0aW9uKEEpOgoJaWYgbGVuKEEpID09IDA6CgkJcmV0dXJuCglsb25nZXN0U3RhcnQgPSAwCglsb25nZXN0U3RvcCA9IDAKCWxvbmdlc3RMZW5ndGggPSAwCglsb25nZXN0VmFsID0gMAoJY3VyU3RhcnQgPSAwCgljdXJTdG9wID0gMAoJY3VyTGVuZ3RoID0gMQoJY3VyVmFsID0gQVswXQoJZm9yIGsgaW4gcmFuZ2UoMSxsZW4oQSktMSk6CgkJaWYgY3VyVmFsICE9IEFba10gYW5kIGN1ckxlbmd0aCA+IGxvbmdlc3RMZW5ndGg6ICMgcmVjb3JkIGN1ciBhcyBsb25nZXN0CgkJCWxvbmdlc3RWYWwgPSBjdXJWYWwKCQkJbG9uZ2VzdFN0YXJ0ID0gY3VyU3RhcnQKCQkJbG9uZ2VzdFN0b3AgPSBjdXJTdG9wCgkJCWxvbmdlc3RMZW5ndGggPSBjdXJMZW5ndGgKCQkJY3VyU3RhcnQgPSBrCgkJCWN1clN0b3AgPSBrCgkJCWN1ckxlbmd0aCA9IDEKCQkJY3VyVmFsID0gQVtrXQoJCWVsc2U6ICMgY29udGludWUgdG8gYnVpbGQgY3VycmVudCBzdHJlYWsKCQkJY3VyU3RvcCA9IGsKCQkJY3VyTGVuZ3RoICs9IDEKCXJldHVybiAobG9uZ2VzdFN0YXJ0LCBsb25nZXN0U3RvcCwgbG9uZ2VzdExlbmd0aCwgbG9uZ2VzdFZhbCkKCQpwcmludCBmaW5kTG9uZ2VzdENvbnRpbnVvdXNTZWN0aW9uKEEpCgo=