1071. Speech Patterns

#include <cstdio>
#include <iostream>
#include <string>
#include <map>
#include <algorithm>
#include <vector>
#include <ctype.h>

using namespace std;

map<string , int> result ;

bool isLetter(char c)
{
	if( '0' <= c && c <= '9' || 'a' <= c && c<= 'z' || 'A' <= c && c <= 'Z' )
	{
		return true;
	}
		return false ;
}

int main(void)
{
	string data;
	int i  = 0;
	int s , e ;
	int max = 0 ; 
	vector<int>value ;
	map<string , int> ::iterator it ;

	//freopen("input.txt" , "r" , stdin);

	getline(cin , data);
 
	while( i  < data.length() )
	{
		string temp ;

		while( i < data.length() && !isLetter( data.at(i) ))
		{
			i++ ;
		}

		if( i == data.length() ) break ;

		s = i ;

		while(  i < data.length() && isLetter( data.at(i) )) 
		{
			data.replace( i , 1 , 1 , tolower( data.at(i) ) ) ;
			i++ ;
		}
		e = i;

		temp = data.substr( s , e - s );
		
		//´æ´¢Ïà¹ØµÄ×Ö·û´®

		if( result.count( temp ) == 0 )
		{
			result[temp] = 1 ;
		}
		else
		{
			result[temp] ++ ;
		}

		if( result[temp] > max )
		{
			max = result[temp] ;
		}
	}
	
	for( it = result.begin() ; it != result.end() ; it++ )
	{
		if( it->second == max)
		{
			cout<<it->first << ' ' << it->second << endl;
		}
	}
		

	return 0;
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值