第二题 数组添加元素构成回文数组并使数组的和最小,输出构造好的回文数组的和,
如[1,2,3,1,2] 可添加2个元素 变为回文 [1,2,1,3,1,2,1], 输出为11。
我的代码如下 只通过30%
n = int(input())
myArray = list(map(int,input().strip().split()))
def mySolution(myList,n):
if list(reversed(myList)) == myList: #已经是回文数
return sum(myList)
forward = 0
backward = n-1
mySum = sum(myList)
while forward < backward:
if myList[forward] == myList[backward]:
forward += 1
backward -= 1
elif myList[forward] < myList[backward]:
mySum += myList[forward]
forward += 1
else:
mySum += myList[backward]
backward -= 1
return mySum
print(mySolution(myArray,n))