李成笔记网

专注域名、站长SEO知识分享与实战技巧

1187:统计字符数 1187统计字符数

1187 统计字符串。

给定一个由 a 到 z 这二十六个字符组成的字符串,统计其中哪个字符出现的次数最多。

输入包含一行,一个字符串长度不超过一千,输出一行,包括出现次数最多的字符和该字符出现的次数,中间一个空格分开。

如果有多个字符出现的次数相等且最多,那么输出 ASCII 码最小的那一个。

输入 abbccc,输出 c 3。字母确定是 a 到 z 的二十六个小写字母,那么就可以用长度为二十六的 int 数组来记录每个字母的出现次数。

而 ASCII 码最小的字符出现在前面,即使次数相同也会优先输出 ASCII 码最小的那个字符。

代码如下:

首先定义一个长度为二十六的 int 型数组。

然后定义一个 String s 来接收输入的字符串。

一个 m 来记录最大次数。

记录一个 mIndex 来记录最大次数出现的索引。

最大次数初始化为零,最大次数出现的索引初始化为-1。

首先循环整个字符串,在对应的零到二十六个位数上出现一次就加一,那么它对应的索引就是自己本身这个位置的字符减去 a 这个字符,然后加加,把字符串扫一遍,就记录了每个字符出现的次数。

再循环二十六个字符,a 等于零,i 小于二十六,i 加加。

如果数组中 i 位置的次数大于最大次数 m,那么更新最大次数 m,同时更新目前最大的索引。

二十六个循环之后就找到出现次数最多的字符,因为记录了字符的序号,直接用 a 加上序号就可以得到对应的字符,然后再输出次数。

程序就写完了,编译一下,这里应该是 c,输入 a、b、b、c、c,这种情况下 b 和 c 次数相等应该输出 b 2,如果正确再输入 a、b、c、c、c,结果出 c 3,如果正确提交一下代码,如果完全正确。

今天的课程讲完了,谢谢大家。

发表评论:

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言