字符串转换

#include <iostream>
#include<string.h>
#include<stdio.h>
#include<cmath>
using namespace std; 


int main(){
    int min_value=10000;
    int cost;
    int a;
    int t;
    char s[105]; 
    char jishu[105];
    scanf("%d",&t);
    while(t--){
        min_value=10000;
        memset(jishu,0,sizeof(jishu));
        cin>>s;
        for(int i=0;i<strlen(s);i++)
        {
            jishu[s[i]-'a']++;    //将字符转换为数字 
        }
        for(int k=0;k<26;k++)
        {
            int flag=0;
            cost=0;
            if(jishu[k]!=0)
            {
                for(int j=0;j<26;j++){
                    flag=1;   //flag为1才更新cost 
                    cost=cost+jishu[j]*min(abs(j-k),26-abs(j-k));   //转化为k简单字符串所需要的cost 
                }
            }
            if(flag==1)
          min_value=min(min_value,cost); 
         } 
         cout<< min_value<<endl;
    }
    return 0;
}
全部评论

相关推荐

2025-12-17 15:08
赤峰学院 Java
乐邦詹雨:学历厂,另外东子不同部门待遇进的难度天差地别,我同学零售一面1h30min有八股算法项目拷打,我就两轮技术面各30min就一面问了些技术问题,二面问了两个开放式技术问题,三面线下hr面就结束了
点赞 评论 收藏
分享
02-04 17:01
南昌大学 Java
牛客96763241...:拿插件直接投就完了,这玩意看运气的
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务