Минимальное количество символов, которое необходимо добавить в исходное слово, чтобы оно стало палиндромом - PullRequest
0 голосов
/ 12 октября 2018

Ниже приведен код для вышеприведенного описания.

Ограничение 3 <= N <= 5000 </p>

Входные данные - это строка, содержащая только алфавиты и цифры, которые чувствительны к регистру. Добавляйте буквы в словев любом месте для создания шаблона.

Issue-> Code отлично работает в IDE, но 9 из 10 тестовых случаев не выполняются на симуляторе (тестовые примеры генерируются автоматически). Невозможно понять недостающую часть, из-за какого тестадела терпят неудачу.

import sys

import re

def s2p(text):
    lis = list(text)  

    count = 0
    if lis[0:] == lis[::-1]:
        return count

    elif lis[0] != lis[-1]:
        lis.append(lis[0])

    for i in range(1, len(lis) - 1):

        if lis[i] == lis[-(i + 1)]:
            continue
        else:
            lis.insert(len(lis) - i, lis[i])

            count += 1  
    if lis[0:] == lis[::-1]:
        return count  

    else:
        sys.exit()

size=int(input())

try:

    assert(size in range (3,5000))

    inp = str(input())

    sample=re.sub('[^a-zA-Z]+', '', inp)

    #print(sample)

    if inp.isalnum()==True:

        print(s2p(sample)) 

    else:
        sys.exit()

except AssertionError:

    sys.exit()
...