题解 | #字母统计#

字母统计

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复杂度

全部评论

相关推荐

07-02 13:52
武汉大学 golang
骗你的不露头也秒
牛客87776816...:😃查看图片
点赞 评论 收藏
分享
05-20 13:59
门头沟学院 Java
米黑子米黑子:你这个成绩不争取下保研?
点赞 评论 收藏
分享
点赞 评论 收藏
分享
评论
3
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务