【1071】Speech Patterns (25 分)

简介: 【1071】Speech Patterns (25 分)【1071】Speech Patterns (25 分)
#include<iostream>
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
#include<string>
#include<algorithm>  
#include<map>
#include<vector>
#include<queue> 
using namespace std;  
//题目是统计出现最多的单词,key:分割给定字符串后map计数
bool check(char c){ //检查字符c是否为[0,9] [A,Z] [a,z]
  if(c>='0'&&c<='9') return true;
  if(c>='a'&&c<='z') return true;
  if(c>='A'&&c<='Z') return true;
  return false;
}
int main(){   
   map<string, int> count;  //count计数字符串出现的次数
   string str;
   getline(cin,str);  //读入整行字符串
   int i=0;  //定义下标
  while(i<str.length()){  //在字符串范围内
    string word;  //单词
    //下面这个while分割出一个个单词并map
    while(i<str.length()  &&  check(str[i])==true ){//如果是单词的话 ,注意第一个条件
      if(str[i] >= 'A' && str[i] <='Z'){ 
        str[i]+=32;   //将大写字母转换为小写字母
      }
      word+=str[i] ;//单词末尾添加该字符,之前没写过这种。。
      i++; //下标后移1位
    }
      if(word!=""){  //单词非空,令次数加1
        if(count.find(word) == count.end() )  count[word]=1; //单词不存在,count赋值为1
        else count[word]++;
      }
      while(i<str.length()    &&    check(str[i])==false) { //注意加第一个条件,否则会爆内存
        i++;   //跳过非单词字符
      }
  } //大外层while结束
  string ans;  //存放出现次数最多的单词
  int MAX=0;  //出现最多的单词的次数
  for(map<string,int>::iterator it=count.begin()  ; it!=count.end() ; it++){
    if(it->second > MAX){  //寻找出现次数最多的单词
      MAX=it->second;
      ans=it->first;
    }
  }
  cout<<ans<<" "<<MAX;
  system("pause");
    return 0;   
}
相关文章
瓴羊出席首届2024数据智能大会,并参与编纂《数据智能白皮书(2024年)》
瓴羊出席首届2024数据智能大会,并参与编纂《数据智能白皮书(2024年)》
162 1
基于Jeecgboot前后端分离的ERP系统开发系列--出库单(1)
基于Jeecgboot前后端分离的ERP系统开发系列--出库单(1)
149 1
打造高效后端:微服务架构在现代应用中的实践
本篇文章探讨了微服务架构在现代应用中的实际应用,重点介绍了其优势、挑战以及最佳实践。通过具体案例和技术细节,我们将深入了解如何设计、实现和维护一个高效的微服务架构,以满足不断变化的业务需求。
79 0
基于ssm+vue.js+uniapp小程序的课程管理系统附带文章和源代码设计说明文档ppt
基于ssm+vue.js+uniapp小程序的课程管理系统附带文章和源代码设计说明文档ppt
46 0
基于SpringBoot+Vue+uniapp的药房药品采购集中管理系统的详细设计和实现(源码+lw+部署文档+讲解等)
基于SpringBoot+Vue+uniapp的药房药品采购集中管理系统的详细设计和实现(源码+lw+部署文档+讲解等)
124 0
如何在不加锁的情况下解决线程安全问题
如何在不加锁的情况下解决线程安全问题
如何在不加锁的情况下解决线程安全问题
springboot学习-使用JdbcTemplate操作MySQL数据库
springboot学习-使用JdbcTemplate操作MySQL数据库
314 0
springboot学习-使用JdbcTemplate操作MySQL数据库
如何用阿里云搭建Web服务器
一、什么是服务器、云服务器     服务器:是一种高性能的计算机     云服务器:是一组集群服务器虚拟出类似独立服务器的部分,集群中每个服务器都有云服务器的一个镜像,从而大大提高了云服务器的稳定性。
4982 0
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等

登录插画

登录以查看您的控制台资源

管理云资源
状态一览
快捷访问