题解分享
题解分享简介
单词分析(编程题) - 题解
```
#include <bits/stdc++.h>
using namespace std;
int main()
{
string str;
vector<int> tab(27, 0); //开数组做字母表(下标1代表A以此类推)
cin >> str;
for (int i = 0; i < (int)str.length(); i++)
{
int idx = str[i] - 96;
tab[idx]++; //字母出现次数
}
int max = 1; //找出现次数最多的字母下标
for (int i = 2; i <= 26; i++)
{
if (tab[max] < tab[i]) max = i;
}
cout << (char)(max + 96) << '\n' << tab[max];//打印出现次数最多的字母和次数
return 0;
}
```
查看全文
0
0
1
1
单词分析(编程题) - 题解
```
#include<iostream>
#include<map>
#include<vector>
#include<string>
#include<algorithm>
using namespace std;
bool cmp(const pair<char,int>&a,const pair<char,int>&b)
{
return a.second>b.second;
}
int main()
{
string s;
cin>>s;
map<char,int> m;
int len=s.size();
for(int i=0;i<len;i++)
{
m[s[i]]++;
}
vector<pair<char,int>> vec(m.begin(),m.end());
sort(vec.begin(),vec.end(),cmp);
cout<<vec.front().first<<'\n'<<vec.front().second;
}
```
查看全文
0
0
1
1
单词分析(编程题) - 题解
```
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in); // 创建 Scanner 对象,用于读取输入
String word = scanner.nextLine(); // 读取输入的单词
int[] freq = new int[26]; // 创建长度为 26 的数组,用于记录每个字母出现的次数
for (char c : word.toCharArray()) { // 遍历单词的每个字符
freq[c - 'a']++; // 更新对应字母的出现次数
}
int maxFreq = 0; // 记录出现次数最多的字母的出现次数
char mostFrequent = 'a'; // 记录出现次数最多的字母
for (int i = 0; i < 26; i++) { // 遍历字母频率数组
if (freq[i] > maxFreq) { // 如果当前字母的出现次数大于最大出现次数
maxFreq = freq[i]; // 更新最大出现次数
mostFrequent = (char) ('a' + i); // 更新出现次数最多的字母
}
}
System.out.println(mostFrequent); // 输出出现次数最多的字母
System.out.println(maxFreq); // 输出出现次数最多的字母的出现次数
}
}
```
查看全文
0
0
0
7
单词分析(编程题) - 题解
```
#include<bits/stdc++.h>
using namespace std;
vector<int> v(1010, 0);
int main()
{
string s;
cin >> s;
int len = s.size();
for(int i = 0; i < len; i++)
{
v[s[i]-'a']++;
}
int maxCount = 0;
for(int i = 0; i < 1010; i++)
{
if(v[i] > maxCount)
{
maxCount = v[i];
}
}
for(int i = 0; i < 1010; i++)
{
if(v[i] == maxCount)
{
cout << (char)(i + 'a') << endl;
cout << maxCount;
break;
}
}
}
```
查看全文
0
0
0
1
单词分析(编程题) - 题解
```
#include<cstdio>
#include<iostream>
#include<algorithm>
using namespace std;
int hs[26];
int main(){
string s;
cin>>s;
int len=s.length();
for(int i=0;i<len;++i){
hs[s[i]-'a']++;
}
int max=0;
for(int i=0;i<26;++i){
if(hs[i]>max){
max=hs[i];
}
}
for(int i=0;i<26;++i){
if(hs[i]==max){
cout<<char(i+'a')<<endl<<max; //第一个就是字典序最小的
break;
}
}
return 0;
}
```
查看全文
0
0
0
2
单词分析(编程题) - 题解
```
#include<bits/stdc++.h>
using namespace std;
char compare(char current,char previous){
if(current<previous){
return current;
}else{
return previous;
}
}
int main(){
vector<int>num(26,0);
string s;
cin>>s;
char minLetter = 'z';
char currentLetter;
for(auto it=s.begin();it!=s.end();it++){
if(*it>='a'&&*it<='z'){
int index = *it-'a';
num[index]++;
}
}
int maxFreq=0;
for(int i=0;i<26;i++){
if(num[i]>maxFreq){
maxFreq = num[i];
}
}
for(int i=0;i<26;i++){
if(num[i]==maxFreq){
currentLetter = 'a'+i;
minLetter = compare(currentLetter,minLetter);
}
}
cout<<minLetter<<"\n"<<maxFreq;
}
```
查看全文
0
0
0
2
单词分析(编程题) - 题解
```
#include <bits/stdc++.h>
using namespace std;
int word[26];
int main()
{
string str;
int m = 0; // 记录最大值
cin >> str;
for (int i = 0; i < str.size(); i++)
{
word[str[i] - 'a']++;
m = max(m, word[str[i] - 'a']);
}
for (int i = 0; i < 26; i++)
{
if (word[i] == m)
{
char ch = 'a' + i;
cout << ch << endl;
cout << word[i] << endl;
break;
}
}
return 0;
}
```
查看全文
0
0
0
2
单词分析(编程题) - 题解
```
#include<bits/stdc++.h>
using namespace std;
string s;
int a[30];
int main(){
cin>>s;
int maxx=0;
for(int i=0;i<s.size();i++){
a[s[i]-'a']++;
}
char x;
for(int i=0;i<26;i++){
if(a[i]>maxx){
maxx=a[i];x=char(i+'a');
}
}
cout<<x<<endl<<maxx;
}
```
查看全文
0
0
0
1
单词分析(编程题) - 题解
```cpp
#include <bits/stdc++.h>
using namespace std;
#define int long long
// #define LL long long
#define endl '\n'
map<char, int> mp;
void solve()
{
char c;
while (cin >> c)
{
if (cin.eof()) break;
mp[c]++;
}
char res1;
int res2 = 0;
for (char i = 'a'; i <= 'z'; i++)
{
if (mp[i] > res2)
{
res1 = i;
res2 = mp[i];
}
}
cout << res1 << endl << res2;
}
signed main()
{
ios::sync_with_stdio(0);
cin.tie(0), cout.tie(0);
solve();
return 0;
}
```
查看全文
0
0
0
1
单词分析(编程题) - 题解
```
#include <iostream>
#include <string>
using namespace std;
int main() {
string S;
cin >> S;
int count[26] = {0};
for (char c : S) {
count[c - 'a']++;
}
int maxCount = 0;
for (int i = 0; i < 26; i++) {
if(count[i] > maxCount) {
maxCount = count[i];
}
}
for (int i = 0; i < 26; i++) {
if (count[i] == maxCount) {
cout << (char)(i + 'a') << endl;
cout << maxCount;
break;
}
}
return 0;
}
```
查看全文
0
0
0
0



