题解 | #计算某字符出现次数#

计算某字符出现次数

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

#include <bits/stdc++.h>
#include <cctype>
#include <cstddef>
#include <utility>
using namespace std;

int main() {
    string input;
    getline(cin, input); // 居然有空格不能直接cin>>input
    char ch;
    cin >> ch;

    for (auto &e : input) 
        e =toupper(e);

    ch = toupper(ch);
    // 设置一个字典,高效寻找
    map<char, int> record;
    for (size_t i = 0;i < input.size();i++) {
        auto pos = record.find(input.at(i));
        if (pos == record.end()) {
            // 没找到就增加
            pair<char, int> pr;
            pr.first = input.at(i);
            pr.second = 1;
            record.insert(pr);
        } else {
            // 找到,说明已经存在指定元素,递增其数量即可
            pos->second++;
        }
    }

    cout << record.find(ch)->second;
}
// 64 位输出请用 printf("%lld")

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务