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

来源:互联网 发布:淘宝上怎么搜索gta5 编辑:程序博客网 时间:2024/05/16 15:30
  1. package com.test.maxCharInString;  
  2. /** 
  3. *查找一个字符串里出现最多次数最多的字符 
  4. */  
  5. public class MaxCharInString  
  6. {  
  7.   
  8.     /** 
  9.      * @param args 
  10.      */  
  11.     public static void main(String[] args)  
  12.     {  
  13.         test("aabbbcccccddd222aaabbb");  
  14.     }  
  15.   
  16.     public static void test(String str)  
  17.     {  
  18.         int max_length = 0;  
  19.         String max_str = "";  
  20.         while (str.length() > 0)  
  21.         {  
  22.             System.out.println(str);  
  23.             int length = str.length();  
  24.             //取第一个字符  
  25.             String first = str.substring(01);  
  26.             //去掉str里面所有的first字符  
  27.             str = str.replaceAll(first, "");  
  28.             //原来的字符长度-去掉后的字符长度 =去掉的所有字符的长度  
  29.             if (max_length < length - str.length())  
  30.             {  
  31.                 max_length = length - str.length();  
  32.                 max_str = first;  
  33.             }  
  34.         }  
  35.         System.out.println("");  
  36.         System.out.println("出现次数最多的字符:" + max_str + ";出现的次数:" + max_length);  
  37.     }  
  38. }  
0 0
原创粉丝点击