康贰什


私信TA

用户名:dotcpp0716743

访问量:1555

签 名:

最咸的咸鱼

等  级
排  名 1140
经  验 3159
参赛次数 0
文章发表 12
年  龄 19
在职情况 学生
学  校 大专
专  业 计算机

  自我简介:

# 从标准输入读取一个整数n,并存储在变量n中  
n = int(input())  
  
# 从标准输入读取一个字符串s,并存储在变量s中  
s = input()  
  
# 计算字符串s的长度,并存储在变量length中  
length = len(s)  
  
# 初始化变量ans为0,用于存储最终的计算结果  
ans = 0  
  
# 计算字符串s中可以完整分割成n个字符长度的子字符串的数量,并存储在变量size中  
size = length // n  
  
# 遍历每一个可以完整分割的子字符串  
for i in range(size):  
    # 初始化一个空字典mp,用于存储当前子字符串中每个字符的出现次数  
    mp = dict()  
      
    # 遍历当前子字符串中的每一个字符  
    for j in range(n):  
        # 计算当前字符在字符串s中的位置p  
        p = j * size + i  
          
        # 如果当前字符已经在字典mp中存在,则将其出现次数加1  
        if s[p] in mp:  
            mp[s[p]] += 1  
        # 如果当前字符在字典mp中不存在,则将其添加到字典中,并设置其出现次数为1  
        else:  
            mp[s[p]] = 1  
      
    # 找到当前子字符串中字符的最大出现次数,并从n中减去这个值,得到x  
    x = n - max(mp.values())  
      
    # 将x累加到ans中  
    ans += x  
  
# 打印最终结果ans,end=''确保输出后不换行  
print(ans, end='')

对于每个分割开的字符串的相同位置进行字符出现次数统计,将所有字符转化为出现次数最多的那个字符,这样需要的次数最少。


还有两天就比赛了,加油加油加油!

好累啊啊啊啊

 

0.0分

2 人评分

  评论区

思路可以的,厉害
2024-06-06 22:48:18
  • «
  • 1
  • »