正经题解|特工小明
2024-04-01 10:40:40
发布于:浙江
29阅读
0回复
0点赞
题目解析
这道题主要考察如何进行输入?字符串中包含了空格,我们可以用getline进行输入,或者while(cin >> c)循环读入,等方法。
如果是小写字母,则可以用一个数组去记录该字母是否出现过,如果没有出现过,则答案+1。
AC代码
#include <bits/stdc++.h>
#define endl '\n'
using namespace std;
typedef long long ll;
const int N = 1e5 + 10;
int t,n,m;
string s;
int vis[26];
int main() {
    ios::sync_with_stdio(false);
    getline(cin,s);
    int cnt = 0;
    for(char &i:s) {
        if (i >= 'a' && i <= 'z' && !vis[i - 'a']) {
            cnt++;
            vis[i - 'a'] = 1;
        }
    }
    cout << cnt << endl;
    return 0;
}
复杂度分析
字符串的每一个字符都需要比较,复杂度为 。
这里空空如也



有帮助,赞一个