NC255195. 游游的字母串
描述
输入描述
一个仅包含小写字母,长度不超过100000的字符串。
输出描述
一个整数,代表最小的操作次数。
示例1
输入:
yab
输出:
3
说明:
C++(clang++ 11.0.1) 解法, 执行用时: 7ms, 内存消耗: 632K, 提交时间: 2023-07-16 19:12:27
#include<bits/stdc++.h> using namespace std; string s; int mi=1e9; int main(){ cin>>s; for(char ch='a';ch<='z';ch++){ int tot=0; for(int i=0;i<s.size();i++) tot+=min(26-abs(s[i]-ch),abs(s[i]-ch)); mi=min(mi,tot); } cout<<mi; }
Python3 解法, 执行用时: 1423ms, 内存消耗: 4808K, 提交时间: 2023-07-16 20:55:51
s = input() dp = [0 for x in range(26)] for x in s: c = ord(x) - ord('a') for i in range(26): dp[i] += min(abs(c - i), 26 - abs(c - i)) print(min(dp))
pypy3 解法, 执行用时: 131ms, 内存消耗: 23388K, 提交时间: 2023-07-16 19:25:17
s=input() ans=1000000000 for i in range(26): cur=0 for y in s: y=abs(ord(y)-ord('a')-i) cur+=min(y,26-y) ans=min(ans,cur) print(ans)