目前,我正在使用Codility上的任务来改进我的python,并且在完成MaxCounter练习时遇到了一个问题。
这个练习给出一个整数N和一个列表A,其中N在范围1..100,000范围内,数组A的每个元素都是范围1. N+1范围内的整数。
N表示从0开始的N个计数器,A中的每个元素表示计数器列表上的操作。如果Ai <= N,则Aith计数器增加+1,使得如果Ai =1,则第0计数器递增。如果Ai == N+1,则所有计数器都被设置为当前最大值的值。
完成所有操作后,返回计数器列表。
我的代码如下:
def solution(N, A):
# write your code in Python 3.6
counters = [0] * N
for i in A:
if i == N + 1:
counters = max(counters) * N
else:
counters[i-1] += 1
return counters
pass在“反Si-1 += 1”行中,我正在接收错误:
文件“/tmp/soltion.py”,第13行,在解决方案+= 1中
TypeError:'int‘对象不可订阅
我不知道为什么我要得到这个错误,因为我没有调用一个整数作为一个列表。任何见解都将不胜感激。
发布于 2021-12-14 11:51:46
您的列表计数器将由需要更改该行设置为的变量名的行max(counters) * N设置为整数。
发布于 2021-12-14 11:51:43
计数器是一个整数而不是一个列表,因此它是不可订阅的。
https://stackoverflow.com/questions/70348383
复制相似问题