2020年第十一届蓝桥杯 - 国赛 - Python大学组 - G.重复字符串

Posted Alex_996

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了2020年第十一届蓝桥杯 - 国赛 - Python大学组 - G.重复字符串相关的知识,希望对你有一定的参考价值。

在线评测

Ideas

首先把字符串划分成 k 份,然后每份逐位对比,计算出现次数最多的字母,然后用 k 减去出现次数就是要修改的位置。

Code

Python

from collections import Counter


if __name__ == '__main__':
    ans = 0
    k = int(input())
    string = input()
    n = len(string)
    if n < k:
        print(-1)
    else:
        string_list = [string[i: i + n // k] for i in range(0, n, n // k)]
        for i in range(n // k):
            cnt = Counter()
            for j in range(len(string_list)):
                cnt[string_list[j][i]] += 1
            ans += k - cnt.most_common(1)[0][1]
        print(ans)

以上是关于2020年第十一届蓝桥杯 - 国赛 - Python大学组 - G.重复字符串的主要内容,如果未能解决你的问题,请参考以下文章

2020年第十一届蓝桥杯国赛个人题解

2020年第十一届蓝桥杯 - 国赛 - Java大学C组 - F.天干地支

2020年第十一届蓝桥杯 - 国赛 - Java大学C组 - F.天干地支

2020年第十一届蓝桥杯 - 国赛 - Python大学组 - G.重复字符串

2020年第十一届蓝桥杯 - 国赛 - Python大学组 - G.重复字符串

2020年第十一届蓝桥杯 - 省赛 - Python大学组 - D.蛇形填数