日志11

在“小红的字符串”一题中

思路:检测在对称位置的字符需要几步才能相同,由于小红只能将其右移,所以就有两种路径:在左侧的向右移,或者在右侧的向右移经过‘z’->‘a’之后再与之相同。这就需要取两种方法所需的步数再进行比较。

#include<iostream>
#include<bits/stdc++.h>
using namespace std;
int jdz (int a){
    if(a>=0)
    {return a;}
    else
    {return -a;}
}
int main(){
    string s;
    cin>>s;
    int a=s.length();
    int o=0;
    for(int i=0;i<a/2;i++)
    {
        
        o+=min(26-jdz(s[i]-s[a-1-i]),jdz(s[i]-s[a-1-i]));
    }
    cout<<o;
    return 0;
}

全部评论

相关推荐

评论
点赞
收藏
分享
牛客网
牛客企业服务