Python:排序列表中最常用的元素(模式),不使用任何功能

时间:2019-03-16 14:10:33

标签: python list mode

我到处走过许多论坛,却找不到我的解决方案,因为大多数论坛至少使用一种功能。

我必须返回已排序列表的统计模式。警告,因为我无法使用任何功能,例如:最大值,计数,键,设置。

我的函数位于o(n)

我以自己的能力尝试:

tenantId

但是此功能不适用于少于2个项目的列表,我知道这不是一个好的解决方案

1 个答案:

答案 0 :(得分:0)

我的解决方案以lis作为操作依据:

counter = 0
my_max = 0
max_index = 0

if len(lis) == 1:
    my_max = 1
    max_index = 0
else:
    for i in range(1,len(lis)):
        if lis[i] == lis[i-1]:
            counter += 1
        else:
            counter = 1
        if counter > my_max:
            my_max = counter
            max_index = i

print(f"occurences: {my_max},mode: {lis[max_index]}")