ACM_统计字符串
统计字符串
Time Limit: 2000/1000ms (Java/Others)
Problem Description:
给定n个字符串,统计字符串的个数。
如给定
5
sss
ab
sss
abcd
ab
统计后的结果就是
ab 2
abcd 1
sss 2
Input:
输入包含多组测试数据,每组数据首先给定一个整数n(1<=n<=1000).接下来有n个长度不超过10的字符串只包含大小写字母。
Output:
对于每组数据,输出字符串的统计结果,按字典序的方式给出结果,见样例。
Sample Input:
3
abc
cde
abc
Sample Output:
abc 2
cde 1
解题思路:水题!!!每输入一个字符串就查看之前有没有重复的,有的话,对应的计数器加1,否则就加入到结构体数组中去,最后按字典序排序即可,水过!
AC代码:
#include<bits/stdc++.h>
using namespace std;
struct NODE{
int num;
string str;
}node[];
bool cmp(NODE x,NODE y){return x.str<y.str;}
int main()
{
int n,k;string obj;bool flag;
while(cin>>n){
getchar();k=-;
for(int i=;i<n;++i)node[i].num=;
while(n--){
cin>>obj;flag=false;
for(int i=;i<=k;++i){
if(node[i].str==obj){
node[i].num++;flag=true;break;//表示有重复字符串
}
}
if(!flag){node[++k].str=obj;node[k].num++;}//如果没有重复的话,加入结构体数组中去
}
sort(node,node+k+,cmp);//按字典序排序
for(int i=;i<=k;++i)
cout<<node[i].str<<' '<<node[i].num<<endl;
}
return ;
}
ACM_统计字符串的更多相关文章
- js统计字符串中各种字符情况
问题描述:在一个字符串中,统计出大写字母.小写字母.数字和其他字符各数.这个算法以前在学习java的时候,老师说过,而且说了四种算法.在孔乙己的世界里,茴香豆的"茴"字有四种写法嘛 ...
- PHP统计字符串里单词查询关键字
<?function full_count_words($str) { //返回完整数组,包含字符串里每个单词 $words = str_word_count($str,1); ...
- 华为OJ平台——统计字符串中的大写字母
题目描述: 统计字符串中的大写字母的个数 输入: 一行字符串 输出: 字符串中大写字母的个数(当空串时输出0) 思路: 这一题很简单,直接判断字符串中的每一个字符即可,唯一要注意的一点是输入的字符串可 ...
- Java基础知识强化之集合框架笔记61:Map集合之统计字符串中每个字符出现的次数的案例
1. 首先我们看看统计字符串中每个字符出现的次数的案例图解: 2. 代码实现: (1)需求 :"aababcabcdabcde",获取字符串中每一个字母出现的次数要求结果:a(5) ...
- JAVA 统计字符串中中文,英文,数字,空格的个数
面试题:输入一行字符,分别统计出其中英文字母.中文字符.空格.数字和其它字符的个数 可以根据各种字符在Unicode字符编码表中的区间来进行判断,如数字为'0'~'9'之间,英文字母为'a'~'z'或 ...
- javascript 统计字符串中每个字符出现的次数
var str = "abdcadfasfdbadfafdasdfasyweroweurowqrewqrwqrebwqrewqrejwq;;"; // console.log(nu ...
- 统计字符串中每个字符出现的次数(Python)
#统计字符串中每个字符出现的次数 以The quick brown fox jumps over the lazy dog为例 message='The quick brown fox jumps o ...
- sql统计字符串出现次数技巧
在牛客网上看到一道题,感觉挺有趣,是用sql统计字符串出现的次数. 这里提供一种思路,比如统计字符串A中子串B的出现次数: SELECT (LENGTH(A) - LENGTH(REPLACE(A, ...
- PTA练习题之6.1统计字符串中大小写字母的个数(10 分)
统计字符串中大小写字母的个数(10 分) 分别统计字符串中大写字母和小写字母的个数. 函数接口定义: void fun ( char *s, int *a, int *b ); 其中s.a.b 都是用 ...
随机推荐
- MAC上postman离线安装时提示加载扩展程序出错怎么办?
目前的postman插件如果想正常使用,必须安装Postman Interceptor插件,这样才能直接使用chrome浏览器的cookie等信息,否则postman是无法完成老版本的功能的.post ...
- Boundary Conditions
test test Table of Contents 1. Boundary conditions 1.1. Neumann boudary condition vs Dirichlet BC 1. ...
- 微信小程序-template模板
============================= 构建template模板 ============================= 1.分析得出共为 ...
- 虚拟机中的CentOS7如何上网?---https://blog.csdn.net/nothing2017/article/details/61420767
虚拟机中的CentOS7如何上网?https://blog.csdn.net/nothing2017/article/details/61420767
- nyoj 93 汉诺塔(三)(stack)
汉诺塔(三) 时间限制:3000 ms | 内存限制:65535 KB 难度:3 描述 在印度,有这么一个古老的传说:在世界中心贝拿勒斯(在印度北部)的圣庙里,一块黄铜板上插着三根宝石针.印度 ...
- css & no margin & print pdf
css & no margin & print pdf no header & no footer https://stackoverflow.com/questions/46 ...
- 如何用Bugzilla系统管理产品研发过中相关需求和bug
目 录 1.Bug处理流程及状态说明 2.bugs字段说明 3.查询报表的使用 4.bug系统与需求系统的整合 5.流程和用户权限 1. Bug处理流程及状态说明(1) BUG状态流程图 BUG的状态 ...
- Mysql修改自增主键的起始值及查询自增主键的下一个值
MySQL [xxx_mall]> alter table shop_base_info AUTO_INCREMENT=11000;Query OK, 0 rows affected (0.0 ...
- 26、Java并发性和多线程-线程池
以下内容转自http://ifeve.com/thread-pools/: 线程池(Thread Pool)对于限制应用程序中同一时刻运行的线程数很有用.因为每启动一个新线程都会有相应的性能开销,每个 ...
- oracle 12c show con_name
今天安装了一个oracle 12c的数据库做测试,在运行一个很简单的命令时出错了: SQL> show con_name concat "." (hex 2e) SP2: u ...