Обработка массива HackerRank в Python

#python #python-3.x

#python #python-3.x

Вопрос:

https://www.hackerrank.com/challenges/crush/problem

Кто-нибудь может подсказать мне, что я делаю неправильно. Это не удовлетворяет некоторым тестовым примерам и показывает ошибку времени выполнения. Это мой код:

    def arrayManipulation(n,m, queries):
    arr=[0]*n
    for i in range(m):
        a=queries[i][0]
        b=queries[i][1]
        k=queries[i][2]
        arr[a-1] =k
        if(b!=n):
            arr[b]-=k
    actual=0
    maxi=0
    for j in range(n):
        actual =arr[j]
        if(maxi<actual):
            maxi=actual
        arr[j]=actual        #this line
    return (maxi)
  

Но когда я удаляю приведенную выше строку, все тестовые примеры работают нормально.

Кто-нибудь может сказать мне, что не так????

Комментарии:

1. можете ли вы показать, какие тестовые примеры не проходят и не вводятся?

2. Какова цель этого упражнения? И можете ли вы опубликовать тестовый ввод, ожидаемый результат и фактический результат для некоторых тестовых случаев, которые завершаются неудачей?

3. Почему ваша функция принимает m параметр? В инструкциях говорится, что для этого требуется n и queries .

4. @Jpsh Для входных данных с большими значениями выполняется сбой. Вот тестовый пример: ссылка

5. @MarkMeyer m — это количество операций. Это задается в качестве входных данных в программе. Если не передать его, мы можем найти его внутри функции. Это просто len (запросы).