ошибка времени выполнения для кода python 3 в нескольких тестовых случаях - PullRequest
0 голосов
/ 11 июля 2020

Я новичок в Python и пытаюсь решить эту задачу: https://www.hackerrank.com/challenges/repeated-string/problem?h_r=internal-search Я не знаю, почему я получаю ошибку времени выполнения, когда отправляю свой код. Вот мой код:

s = input("Type a string: ")
n = int(input("Enter the number of repetition: "))
sf = ' '
repeat = n // len(s)
remain = n % len(s)
i = 0
j = 0 
if s == 'a':
    count = n
else:  
    while i < repeat:
        sf += s
        i += 1

    while j < remain:
        sf += s[j]
        j += 1

    count = sf.count('a')

print(count)

Мы будем благодарны за любые подсказки или решения!

ПРИМЕЧАНИЕ: Когда вы откроете ссылку, она попросит вас зарегистрироваться или войти дюйм. Вы можете просто проигнорировать его, и он увидит задание.

1 Ответ

1 голос
/ 11 июля 2020

Проблема возникнет, когда размеры теста станут действительно большими. Строка sf станет настолько большой, что вы получите ошибку памяти. Сложная часть проблемы состоит в том, чтобы выяснить, как ее решить, не создавая длинную строку.

Ваш подход с оставшейся частью хорош. Может быть, найти, сколько букв в одной последовательности, а затем умножить на количество повторов? Тогда вам остается разобраться с оставшейся частью. Вам нужно будет выяснить, сколько букв «а» находится в первых «остатках» строки.

...