欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

统计字符串中字符出现次数

程序员文章站 2022-04-30 20:37:00
...

最近好多同学忙着找工作,其中分享出来一道算法题,是找出重复次数最多的元素,忽然想起来教主教过的统计字符串中字符出现次数的算法。记录一下。

思路(只统计ASCII码包含的字符):

ASCII码表一共128个字符。创建一个大小为128的int类型数组array。遍历字符串中的字符,将字符值(128以内)作为array数组的下标,每遇到一个相同的则改下标处的元素值加1。这样就将每个出现过的字符及其次数统计出来,当然遍历array数组可得到出现次数最多的字符。

package com.mec.census.test;

public class FindMaxCountChar {

	public static void main(String[] args) {
		String  str = "axacxagkgkiggggggggggggggg```````````````GUFIXSB2114";
		
		int[] result = new int[128];		//创建数组大小为(128)
		char[] charArr = str.toCharArray();	//将字符串转成字符数组
		for(int index = 0; index < charArr.length; index++) {
			result[charArr[index]]++;			
		}
		
		Character c =   null;					//用于保存出现次数最多的字符
		int count = 0;						//用于保存最高次数
		for(int index = 0; index < result.length; index++) {
			int sum = result[index];
			if(sum > count) {
				//获取出现此处最多的字符
				count = sum; 
				c = (char) index;
			}
			//统计出现了的字符及其次数
			if(sum != 0) {
				System.out.println("字符\t" + (char)index + "\t出现了[" + sum + "]次");
			}
		}
		
		System.out.println("出现最多的字符为: \t" + c + "    总共出现了[" + count +"]次");
	}

}

结果

统计字符串中字符出现次数

相关标签: 数据结构与算法