栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

重复字符串【决赛】【研究生组】(python)

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

重复字符串【决赛】【研究生组】(python)

代码

本题主要采用贪心算法、字典来完成。

字典保存的是每组数据中第i的元素出现的次数。

def solve(s, k):
    n = len(s)
    if n//k != n/k:
        return -1
    Size= n//k
    nums = [dict() for _ in range(Size)]
    for i in range(0,n,Size):
        for j in range(Size):
            nums[j][s[i+j]] = nums[j].get(s[i+j], 0) + 1
    model = [0 for _ in range(Size)]
    for i in range(Size):
        model[i] = max(nums[i].values())
    ans = 0
    for i in range(Size):
        ans += k-model[i]
    print(ans)
    return 1

# 贪心算法
k = int(input())
s = input()
if solve(s, k) == -1:
    print("-1")

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/870216.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号