列表

详情


NC205832. 神奇的字母(二)

描述

我有个神奇的字母。
但我不告诉你是什么字母。
什么?你想知道这个字母是什么?那你就来猜呀~
字母的范围从'a'到'z'。
我会给你一段话,神奇的字母就是出现次数最多的那个字母哦~

输入描述

一段话,仅由英文小写字母和空格组成。这段话可能有很多行。(保证存在出现次数最多的一个字母)
数据范围:所有字符串总长度之和不超过1000。

输出描述

出现次数最多的那个神奇的字母。

示例1

输入:

ranko sekai ichiban kawaii
ranko saikou

输出:

a

说明:

这段话只有a出现了7次,其他字母都小于7次。

原站题解

上次编辑到这里,代码来自缓存 点击恢复默认模板

C(clang11) 解法, 执行用时: 8ms, 内存消耗: 376K, 提交时间: 2021-03-11 22:59:12

#include<stdio.h>
int main(){
	char a;
	int n,m=0,i,j,r[150]={0};
	while(~scanf("%c",&a)){
		if(a>='a'&&a<='z'){
			r[a]++;
		}
	}
	for(i=0;i<150;i++){
		if(r[i]>m){
			m=r[i];
			n=i;
		}
	}printf("%c",n);
}

C++11(clang++ 3.9) 解法, 执行用时: 3ms, 内存消耗: 476K, 提交时间: 2020-05-18 20:36:12

#include<bits/stdc++.h>
using namespace std;
int num,a[300];
char ans,c;
int main(){
	while(cin>>c){
		a[c]++;
	}
	for(int i=1;i<=288;i++){
		if(a[i]>num){
			num=a[i];
			ans=char(i);
		}
	}
	cout<<ans;
}

C++14(g++5.4) 解法, 执行用时: 4ms, 内存消耗: 612K, 提交时间: 2020-06-02 09:37:42

#include <bits/stdc++.h>
using namespace std;
int a[30];
signed main()
{
	char ch;
	while(cin>>ch)
	{
		if(ch>='a'&&ch<='z') a[ch-'a']++;
	}
	cout<<(char)(max_element(a,a+26)-a+'a')<<endl;
	return 0;  
}

pypy3 解法, 执行用时: 112ms, 内存消耗: 26960K, 提交时间: 2022-10-21 14:37:22

import collections
import sys
string = ''
for line in sys.stdin:
    string += line.strip().replace(' ', '')
print(collections.Counter(string).most_common()[0][0])

Python3 解法, 执行用时: 46ms, 内存消耗: 4492K, 提交时间: 2022-10-21 14:35:39

import collections
string = ''
for line in input():
    string += line.strip()
print(collections.Counter(string).most_common()[0][0])

上一题