题解 | #字母统计#

字母统计

https://www.nowcoder.com/practice/de7bf0945c1c4bd1aa9d49573b831f3c

#include <iostream>
#include "string"
#include "cstdio"
#include "map"
using namespace std;

int main() {
    string str;
    map<char, int> numbers;
    for (char c = 'A'; c <= 'Z'; c++) {
        numbers.insert(pair<char, int> {c, 0});
    }


    while (cin >> str) {
        for (int i = 0; i < str.length(); i++) {
            numbers[str[i]]++;
        }
        for (char c = 'A'; c <= 'Z'; c++) {
            printf("%c:%d\n", c, numbers[c]);
        }



    }






    return 0;
}

看到 题解里 创建一个128大小的数组,利用ASCLL码的特性,遍历读来的字符串,然后再输出数组里A 到 Z的部分就可以了

题解方法很好,应该积累

我用的是map,这样时间复杂度也会很低, n的时间复杂度

不建议用双重循环,n2复杂度

全部评论

相关推荐

不愿透露姓名的神秘牛友
11-21 19:05
面试官_我太想进步了:混学生会的,难怪简历这么水
点赞 评论 收藏
分享
3 收藏 评论
分享
牛客网
牛客企业服务