|
发表于 2023-8-8 18:49:51
|
显示全部楼层
黑龙江省七台河市
def count_consecutive(sequence, num1, num2):
# 初始化
for num in sequence:
# 对于数字1
if num == num1:
current_count_1 += 1
current_count_2 = 0 # 重置数字2的计数
max_count_1 = max(max_count_1, current_count_1)
if current_count_1 == 1: # 如果是首次出现,则更新最小计数
min_count_1 = 1
else:
min_count_1 = min(min_count_1, current_count_1)
# 对于数字2
elif num == num2:
current_count_2 += 1
current_count_1 = 0 # 重置数字1的计数
max_count_2 = max(max_count_2, current_count_2)
if current_count_2 == 1: # 如果是首次出现,则更新最小计数
min_count_2 = 1
else:
min_count_2 = min(min_count_2, current_count_2)
# 对于其他数字
else:
current_count_1, current_count_2 = 0, 0 # 重置两个数字的计数
# 针对从未出现过的数字,设置最小计数为0
if max_count_1 == 0:
min_count_1 = 0
if max_count_2 == 0:
min_count_2 = 0
return (max_count_1, min_count_1), (max_count_2, min_count_2)
# 测试
sequence = [1, 2, 2, 2, 3, 3, 1, 1, 1, 2, 2, 2, 2]
num1, num2 = 1, 2
count_consecutive(sequence, num1, num2)
输出:
((3, 1), (4, 1))
数字 1 最多连续出现3次,最少连续出现1次。
数字 2 最多连续出现4次,最少连续出现1次。
Python |
|