开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第34天,点击查看活动详情
AcWing——4785. 奇偶
4785. 奇偶 - AcWing题库
给定一个由小写字母组成的字符串,请你统计其中包含的不同小写字母数量。
如果给定字符串中包含奇数个不同小写字母,则输出 odd。
如果给定字符串中包含偶数个不同小写字母,则输出 even。
输入格式
共一行,一个由小写字母组成的字符串。
输出格式
共一行,按题目要求输出答案。
如果给定字符串中包含奇数个不同小写字母,则输出 odd。
如果给定字符串中包含偶数个不同小写字母,则输出 even。
数据范围
所有测试点满足,给定字符串的长度范围 1,100。
输入样例1:
wjmzbmr
输出样例1:
even
输入样例2:
xiaodao
输出样例2:
odd
输入样例3:
sevenkplus
输出样例3:
even
问题解析
用哈希表记录下所有字符的出现情况,然后查看哈希表mymap的大小,再根据哈希表的大小输出结果。
- 如果哈希表mymap的大小为偶数,说明有偶数个不同的小写字符,输出even。
- 如果哈希表mymap的大小为奇数,说明有奇数个不同的小写字符,输出odd。
AC代码
#include<iostream>
using namespace std;
#include<vector>
#include<algorithm>
#include<math.h>
#include<set>
#include <random>
#include<numeric>
#include<string>
#include<string.h>
#include<iterator>
#include<fstream>
#include<map>
#include<unordered_map>
#include<stack>
#include<list>
#include<queue>
#include<iomanip>
#include<bitset>
//#pragma GCC optimize(2)
//#pragma GCC optimize(3)
#define endl '\n'
#define int ll
#define PI acos(-1)
#define INF 0x3f3f3f3f
typedef long long ll;
typedef unsigned long long ull;
typedef pair<ll, ll>PII;
const int N = 2e5 + 50, MOD = 998244353;
int a[N];
void solve()
{
string s;
//接收字符串
cin >> s;
//创建哈希表
unordered_map<char, int>mymap;
//遍历字符串的元素
for (auto& i : s)
{
//字符数++
mymap[i]++;
}
//查看哈希表的大小
if (mymap.size() % 2 == 0)
{
cout << "even" << endl;
}
else
{
cout << "odd" << endl;
}
}
signed main()
{
ios_base::sync_with_stdio(false);
cin.tie(nullptr);
cout.tie(nullptr);
int t = 1;
//cin >> t;
while (t--)
{
solve();
}
return 0;
}