蓝桥杯重复字符串
题目描述
动态规划,划分子问题为长为i-1
的字串向长为i
的字串递推的过程,这一步只需一个简单的计数
# 输入
k = int(input())
string = input()
# 判断特殊情况
if not string or len(string) % k != 0:
print(-1)
dp = [0]*(k+1) # 创建dp数组
i = 0 # dp下标
l = len(string) // k # 重复l次
for i in range(k):
lst = [0]*26 # 用一个列表计数
for j in range(l):
lst[ord(string[i+j*k])-ord('a')] += 1
dp[i+1] = dp[i]+(l-max(lst))
print(dp[-1])