当然这题还可以有多重演变形式,如统计某元素连续出现的最大次数,连续出现次数最大的元素等等。思路大致一样:
li = [1, 2, 3, 4, 2, 2, 2, 5, 2, 1, 1, 1, 1, 2, 3]max_time = 0 # 已知最大连续出现次数初始为0cur_time = 1 # 记录当前元素是第几次连续出现pre_element = None # 记录上一个元素是什么for i in li:if i == pre_element: # 如果当前元素和上一个元素相同,连续出现次数+1,并更新最大值cur_time += 1max_time = max((cur_time, max_time))else: # 不同则刷新计数器pre_element = icur_time = 1print(max_time)