HDOJ(HDU) 1860 统计字符

举报
谙忆 发表于 2021/05/27 19:10:09 2021/05/27
【摘要】 Problem Description 统计一个给定字符串中指定的字符出现的次数 Input 测试输入包含若干测试用例,每个测试用例包含2行,第1行为一个长度不超过5的字符串,第2行为一个长度不超过80的字符串。注意这里的字符串包含空格,即空格也可能是要求被统计的字符之一。当读到’#’时输入结束,相应的结果不要输出。 Output 对每个测试用例,统计第1行中...

Problem Description
统计一个给定字符串中指定的字符出现的次数

Input
测试输入包含若干测试用例,每个测试用例包含2行,第1行为一个长度不超过5的字符串,第2行为一个长度不超过80的字符串。注意这里的字符串包含空格,即空格也可能是要求被统计的字符之一。当读到’#’时输入结束,相应的结果不要输出。

Output
对每个测试用例,统计第1行中字符串的每个字符在第2行字符串中出现的次数,按如下格式输出:
c0 n0
c1 n1
c2 n2

其中ci是第1行中第i个字符,ni是ci出现的次数。

Sample Input
I
THIS IS A TEST
i ng
this is a long test string
#

Sample Output
I 2
i 3
5
n 2
g 2
注:第2个测试用例中,空格也是被统计的字符之一。

水题。。没多少要说的。
只是注意:题目有一个坑。
就是输入:
aab
aaaabcd
输出为:
a 4
a 4
b 1
重复输出的!!!
而我开始因为不知道,为了优化,做了防范,WA了一次。。。


import java.util.Scanner;

public class Main{ public static void main(String[] args) { Scanner sc = new Scanner(System.in); while (sc.hasNext()) { String str1 = sc.nextLine(); if (str1.charAt(0) == '#') { return; } int astr1[] = new int[str1.length()]; String strs = sc.nextLine(); for (int j = 0; j < str1.length(); j++) { for (int i = 0; i < strs.length(); i++) { if (str1.charAt(j) == strs.charAt(i)) { astr1[j]++; } } } for (int i = 0; i <str1.length(); i++) { System.out.println(str1.charAt(i) + " " + astr1[i]); } } }

}

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35

文章来源: chenhx.blog.csdn.net,作者:谙忆,版权归原作者所有,如需转载,请联系作者。

原文链接:chenhx.blog.csdn.net/article/details/51220694

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。