您的位置:首页 > 其它

查找一个字符串里,出现次数最多的字符,时间复杂度O(n)

2015-11-11 10:54 555 查看
查找一个字符串里,出现次数最多的字符,时间复杂度O(n)

package com.test.maxCharInString;
/**
*查找一个字符串里出现最多次数最多的字符
*/
public class MaxCharInString
{

	/**
	 * @param args
	 */
	public static void main(String[] args)
	{
		test("aabbbcccccddd222aaabbb");
	}

	public static void test(String str)
	{
		int max_length = 0;
		String max_str = "";
		while (str.length() > 0)
		{
			System.out.println(str);
			int length = str.length();
			//取第一个字符
			String first = str.substring(0, 1);
			//去掉str里面所有的first字符
			str = str.replaceAll(first, "");
			//原来的字符长度-去掉后的字符长度 =去掉的所有字符的长度
			if (max_length < length - str.length())
			{
				max_length = length - str.length();
				max_str = first;
			}
		}
		System.out.println("");
		System.out.println("出现次数最多的字符:" + max_str + ";出现的次数:" + max_length);
	}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: