hdoj1004(查找众多字符串中个数最多的字符串)

时间:2022-05-28 12:26:59

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(查找众多字符串中个数最多的字符串)的更多相关文章

  1. Javascript 查找字符串中出现最多的字符和出现的次数

    <script type="text/javascript"> //查找字符串中出现最多的字符和出现的次数 var str = 'Thatwheneying its o ...

  2. hash数组快速查找一个字符串中出现最多的字符,并统计出现的次数

    如何快速查找一个字符串中出现最多的字符,并统计出现的次数? 可以使用hash数组,也就是关联数组实现快速查找功能. function seek(str) { var hash = []; var ma ...

  3. 将1、2、3、……、n这n个连续自然数分成g组&comma;使每组的和相等。g组中个数最多的一组有几个?

    <style type="text/css"> #content { width: 600px; margin: 150px auto 0 auto; } dl dd ...

  4. &ast;&ast;&ast;用php的strpos&lpar;&rpar; 函数判断字符串中是否包含某字符串的方法

    判断某字符串中是否包含某字符串的方法 if(strpos('www.idc-gz.com','idc-gz') !== false){ echo '包含'; }else{ echo '不包含'; } ...

  5. JS 从一个字符串中截取两个字符串之间的字符串

    /************************************************* 函数说明:从一个字符串中截取 两个字符串之间的字符串 参数说明:src_str 原串, start ...

  6. PHP判断字符串中是否包含指定字符串,支持中文哦

    RT,随手写的 /** * 判断字符串中是否包含指定字符串 * @var source 源字符串 * @var target 要判断的是否包含的字符串 * @return bool */ functi ...

  7. 剑指Offer:从第一个字符串中删除第二个字符串中出现过的所有字符

    // 从第一个字符串中删除第二个字符串中出现过的所有字符 #include <stdio.h> char* remove_second_from_first( char *first, c ...

  8. C&num; GetValueList 获得字符串中开始和结束字符串中间得值列表

    /// <summary> /// 获得字符串中开始和结束字符串中间得值列表 /// </summary> /// <param name="styleCont ...

  9. js 判断字符串中是否包含某个字符串的方法实例

    String对象的方法 方法一: indexOf()   (推荐) var str = "123"; console.log(str.indexOf("3") ...

随机推荐

  1. Windows下将nginx安装为服务运行

    今天看到nginx这个小服务器软件正式版更新到了1.4.2,想玩下它.这个服务器软件虽小,但功能强大,是开源软件,有着良好的性能,被很多个人.企业,甚至大型企业所使用! 由于是在Windows下,所以 ...

  2. MVC模式下向qq邮箱发送邮件

    将已经保存在数据库中的密码通过邮件发送到qq邮箱中.用的ssm框架,其中的config文件要先配置好. 用到的jar包有gson-2.2.1.jar,gson.jar,mail.jar,activat ...

  3. SVG 参考手册

    1. SVG元素模块 Animation.Module animate animateColor animateTransform animateMotion set mpath 剪裁模块 clipP ...

  4. GUIText的淡入淡出

    单击按键“A”(随意改变),可以控制GUIText马上显示出来,然后淡出:按住按键“A”,可以使GUIText淡入,如果抬起按键则淡出. FadeInOut.cs using UnityEngine; ...

  5. linux基础之加密解密、PKI及SSL、创建私有CA

    加密解密基础 1. 对称加密: 加密和解密使用同一个密钥 常见的加密算法有:DES.3DES.AES.Blowfish.Twofish.IDEA.RC6.CAST5 特性: 1. 加密.解密使用同一个 ...

  6. day15--认识模块、导入模块、自执行与模块的区别

    一.认识模块 什么是模块? 模块本质是一些功能的集合体 创建的一个py文件就是一个模块 使用模块: 在使用模块的py文件中 通过  import 或者 from import导入模块 模块的优点: 可 ...

  7. Java 代理

    代理做一个简单的抽象: 代理模式包含如下角色: Subject:抽象主题角色.可以是接口,也可以是抽象类. RealSubject:真实主题角色.业务逻辑的具体执行者. ProxySubject:代理 ...

  8. CenterOS7&period;5中搭建wordpress

    centeros7.5中搭建wordpress 1.环境 云平台:华为云 服务器操作系统:CentOS7.: 博客部署的服务器:Apache HTTP: 数据库:mysql: 框架:wordpress ...

  9. linux配置虚拟域名

    linux环境下面配置虚拟主机域名 第一步:在root目录下面(即根目录)ls(查看文件)cd进入etc目录find hosts文件vi hosts 打开hosts文件并进行编辑在打开的文件最下面添加 ...

  10. SHELL &lpar;3&rpar; —— 变量知识进阶和实践

    摘自:Oldboy Linux运维——SHELL编程实战 SHELL中特殊切重要的变量 位置变量 作用说明 $0 获取当前执行的Shell脚本的文件名,如果执行脚本包含了路径,那么就包括脚本路径 $n ...