Executando verificação de segurança...
1

Memory Limit Exceeded em Python

Aprendendo Python

def runningSum(self, nums: List[int]) -> List[int]: sumOfNumbers = 0 sum = 0 for i in nums: sum = sum + i sumOfNumbers = nums.append(sum)

Por que esse código dá Memory Limit Exceeded em Python?
Modificar a lista enquanto itera sobre ela, o comando nums.append(sum) altera a lista nums enquanto o for ainda está percorrendo os seus elementos.

Em Python, isso causa um crescimento infinito da lista:

  • a cada iteração, um novo valor é adicionado,
  • o loop tenta percorrer esse novo valor,
  • e o processo nunca termina.

Uso incorreto de append()

A função append() não retorna nada — ela apenas modifica a lista original.
Então, quando você faz:
sumOfNumbers = nums.append(sum)

A variável sumOfNumbers recebe o valor None, e não a lista modificada.

Usar sum como nome de variável
sum é o nome de uma função interna do Python que soma valores de uma lista.

Ao usar sum como nome de variável, você sobrescreve essa função, o que pode gerar erros e confusão no código.

Carregando publicação patrocinada...
1

TEu texto é bem útil, apenas ficou ruim de entender pela quebra de indentação.Segue seu código,

def runningSum(self, nums: List[int]) -> List[int]:   
    sumOfNumbers = 0   
    sum = 0   
    for i in nums:   
        sum = sum + i   
        sumOfNumbers = nums.append(sum)