题解 | #计算某字符出现次数#
计算某字符出现次数
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")