1 条题解
-
0
G3007 [GESP202403 三级] 字母求和 题解
知识点:字符编码、字符串遍历、累加。
解题思路
逐字符处理:小写字母贡献其字母序号1到26,大写字母贡献ASCII编码的相反数,将贡献累加。
为什么正确
每个字符的映射与题面规则一致,逐项求和等于整个字符串的分数。
易错点
大写字母不是负的字母序号,而是负ASCII值;大小写规则不同。
复杂度
时间O(n),空间O(n)。
参考代码(C++17)
#include<bits/stdc++.h> using namespace std; int main() { ios::sync_with_stdio(false); cin.tie(nullptr); int n,sum=0; string s; cin>>n>>s; for(char c:s)sum+=c>='a'?c-'a'+1:-int(c); cout<<sum; }说明
本题解为配套教学整理,非官方题解。复杂度按本页参考实现计算,题库使用6个自行生成的测试点。
- 1