我必须做一个练习,要求我做一个函数,找到列表中连续值的频率,并返回一个元组列表,在这个列表中我必须显示重复的次数
输入:
[1, 1, 1, 3, 5, 1, 1, 3, 3]
输出:
[(1,3) , (3,1) , (5,1) , (1,2) , (3,2)]
代码:
def empaquetar(l):
lista = []
for i in range(len(l)-1):
cont = 0
j = i + 1
while l[i] == l[j] and j<len(l)-1:
cont += 1
i += 1
j += 1
if cont > 0:
lista.append((l[i], cont + 1))
else:
lista.append((l[i],1))
return lista
嗯,我写的东西并没有完全返回我想要的,我也找不到解决方案,但我搜索了很多,比如集合中的工具计数器之类的东西。我需要帮助,有什么建议吗
为此,我开发了一个时间复杂度为
O(n)
的算法结果
让我们为这个函数尝试几个测试用例
下面是验证代码的另一个测试用例
没有经过彻底的测试,但这里有一个尝试
相关问题 更多 >
编程相关推荐