hdoj1004(查找众多字符串中个数最多的字符串)
Let the Balloon Rise.
最近开始刷hdoj,想通过写博客做做笔记,记录写过代码。
Problem Description
Contest time again! How excited it is to see balloons floating around. But to tell you a secret, the judges' favorite time is guessing the most popular problem. When the contest is over, they will count the balloons of each color and find the result.
This year, they decide to leave this lovely job to you.
Input
Input contains multiple test cases. Each test case starts with a number N (0 < N <= 1000) -- the total number of balloons distributed. The next N lines contain one color each. The color of a balloon is a string of up to 15 lower-case letters.
A test case with N = 0 terminates the input and this test case is not to be processed.
Output
For each case, print the color of balloon for the most popular problem on a single line. It is guaranteed that there is a unique solution for each test case.
Sample Input
5
green
red
blue
red
red
3
pink
orange
pink
0
Sample Output
red
pink
分析:
本题的目的是将众多字符串中的出现个数最多的字符串找到并输出。
1.在用c/c++编写的时候,可以使用字符型的二维数组存字符串。数组一般声明得稍大些。
2.思路是计算每一个字符串s[j]后面的与s[j]相同的字符串的个数a[j],若a[j]>max,则max=a[j];flag=j,最后flag中存储的就是个数最多的字符串第一次出现的下标。
3.用int strcmp(char[],char[])==0?来判断字符串是否相同。
下面是AC代码:
#include<stdio.h>
#include<string.h>
#define maxn 1005 //N<=1000,数组一般声明得稍大些,所以我设1005
int main(){
int n,flag,max; //max用来存当前颜色最多的字符串个数,flag存其下标
int a[maxn]; //用来存放每个字符串后面的与其相同的字符串个数
char s[maxn][16];
while(scanf("%d",&n)!=EOF&&n){
max=0;
flag=0;
for(int i=0;i<n;i++) //输入字符串
scanf("%s",s[i]);
for(int j=0;j<n;j++){ //比较两个字符串,如果相同,则对应a[j]++
a[j]=0;
for(int k=j+1;k<n;k++)
if(strcmp(s[j],s[k])==0)
a[j]++;
if(a[j]>max){
max=a[j];
flag=j;
}
}
printf("%s\n",s[flag]); //输出最大个数的字符串
}
return 0;
}
最后,我有个疑问,就是假如输入的字符串个数最多的不止一种,该怎么办?例如
red
pink
black
red
pink
我的处理方法是输出先达到max的字符串,也就是靠前的,即“red"。
hdoj1004(查找众多字符串中个数最多的字符串)的更多相关文章
- Javascript 查找字符串中出现最多的字符和出现的次数
<script type="text/javascript"> //查找字符串中出现最多的字符和出现的次数 var str = 'Thatwheneying its o ...
- hash数组快速查找一个字符串中出现最多的字符,并统计出现的次数
如何快速查找一个字符串中出现最多的字符,并统计出现的次数? 可以使用hash数组,也就是关联数组实现快速查找功能. function seek(str) { var hash = []; var ma ...
- 将1、2、3、……、n这n个连续自然数分成g组,使每组的和相等。g组中个数最多的一组有几个?
<style type="text/css"> #content { width: 600px; margin: 150px auto 0 auto; } dl dd ...
- ***用php的strpos() 函数判断字符串中是否包含某字符串的方法
判断某字符串中是否包含某字符串的方法 if(strpos('www.idc-gz.com','idc-gz') !== false){ echo '包含'; }else{ echo '不包含'; } ...
- JS 从一个字符串中截取两个字符串之间的字符串
/************************************************* 函数说明:从一个字符串中截取 两个字符串之间的字符串 参数说明:src_str 原串, start ...
- PHP判断字符串中是否包含指定字符串,支持中文哦
RT,随手写的 /** * 判断字符串中是否包含指定字符串 * @var source 源字符串 * @var target 要判断的是否包含的字符串 * @return bool */ functi ...
- 剑指Offer:从第一个字符串中删除第二个字符串中出现过的所有字符
// 从第一个字符串中删除第二个字符串中出现过的所有字符 #include <stdio.h> char* remove_second_from_first( char *first, c ...
- C# GetValueList 获得字符串中开始和结束字符串中间得值列表
/// <summary> /// 获得字符串中开始和结束字符串中间得值列表 /// </summary> /// <param name="styleCont ...
- js 判断字符串中是否包含某个字符串的方法实例
String对象的方法 方法一: indexOf() (推荐) var str = "123"; console.log(str.indexOf("3") ...
随机推荐
- jenkins部署配置
https://www.cnblogs.com/rslai/p/8135460.html 修改jenkins的默认端口号: https://blog.csdn.net/qq_32440951/arti ...
- 浅析USB之设备枚举
当一个USB设备插入主机后,会有以下活动: 配上状态图
- 关于npm 包的发布
注册一个npm 账号,打开命令行输入 npm add user 然后登录 npm login 发布npm 包,在你要发布的包的目录下,在创建账号后需要认证邮箱,否则无法发布,发布同一个包,每次的版本需 ...
- jinjia
https://www.cnblogs.com/dachenzi/p/8242713.html
- Zabbix3.0版报警设置
各项报警历史记录查看:“报表--Action log” ------------------------------------------------------------------------ ...
- PropertiesUtil
PropertiesUtil package com.zjx.util; import java.io.IOException; import java.io.InputStream; import ...
- [Shell]Bash基本功能:输入输出重定向
/*----------------------------------------------------------------------------------------------- @黑 ...
- [CI]CodeIgniter应用配置明细
---------------------------------------------------------------------------------------------------- ...
- HTTPConnectionPool(host:XX)Max retries exceeded with url
爬虫多次访问同一个网站一段时间后会出现错误 HTTPConnectionPool(host:XX)Max retries exceeded with url '<requests.package ...
- jq控制select值为某个时选中
$("#selectche_type option").each(function(){//用id ,用class好像不得,不知道为何 alert(2) if($(this).va ...