添加原始单词以使其成为回文集所需的最少字符数

时间:2018-10-12 07:45:59

标签: python string character palindrome insertion

下面是上面描述的代码。

约束3 <= N <= 5000

输入是仅包含字母和数字的字符串,区分大小写。在单词中的任意位置添加字母以构成图案。

问题->代码在IDE上工作正常,但是在Simulator中10个测试用例中有9个失败(自动生成测试用例)。由于测试用例失败,无法理解缺少的部分。

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()

0 个答案:

没有答案