面接問題:文字列の出現回数が最も多いアルファベットと回数(基礎構想編)


今日のお昼に会社が要求した小さな機能を書き終わった後、前の面接問題を考えました.タイトル:文字列を与えて、出現回数が最も多いアルファベットと回数(手書きコード)を見つけます
その时、mapを使いたいと思っていましたが、半分书いても自分がmapに熟练していないと感じて、手书きで书けないので、考え方を変えました.
原理:文字列分割関数により文字列を分割し,分割後の長さを判断して文字の回数を比較する.
大体機能は実現して、Stringの変化の回数はわりに多くて、性能はわりに低くて、1篇補充する暇があって、これは主に構想です.
/*
 *     
 */
public static void main(String[] args){
	String str = "quaint,hello Word!";
	System.out.println(getMaxCharAndNum(str));
}

/*
 *                    
 * 
 *   :	              ,                .
 * 
 */
public static String getMaxCharAndNum(String str){
	//         
	int maxNum = 0;
	//         
	String maxChar = "";
	//              ,         ,      
	String str_Iterator = removeOtherChar(str);
	//             ,         
	str+="/";
	for (int i = 0;i<str_Iterator.length();i++) {
		//          ,char-->String         
		String str_i = str_Iterator.charAt(i)+"";
		//           
		String[] strs = str.split(str_i);
		//       ,                ,              
		if(strs.length-1>maxNum){
			maxChar=str_i;
			maxNum = strs.length-1;
		}else if(strs.length-1==maxNum){
			//              ,  ","  
			maxChar+=(","+str_i);
		}
	}
	maxChar+="      :"+maxNum;
	return maxChar;
}
/*
 *        ,      
 * 	      ,       
 */
public static String removeOtherChar(String str){
	//         
	return str;
}

実行結果:l,l,o,o出現回数:2文字列処理関数が実現した場合、結果は以下のlであるべきであり、o出現回数は:2ブロガー比較料理、ブログアドレスの最適化:https://blog.csdn.net/quaint_csdn/article/details/84103674