题解 | #计算某字符出现次数#
计算某字符出现次数
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")
查看3道真题和解析