面试算法_出现次数最多的字母(含大小写)
2016-03-30 14:29
441 查看
一家毕业就年薪开35w的公司面试题
input:
abcAAB
output:
aAA
input:
abcAAB
output:
aAA
import java.util.HashMap; import java.util.Iterator; import java.util.Map; import java.util.TreeMap; public class Q_3 { public static void main(String[] args) { // TODO Auto-generated method stub String in="abcAAB"; find(in); } static void find(String in){ Map<Character, Integer> map = new TreeMap<>(); for(int i=0;i<in.length();i++){ char ch=in.charAt(i); if('a'<=ch && ch<='z'){ ch = (char) (ch - 'a'+'A'); } if(map.containsKey(ch)){ map.put(ch, map.get(ch)+1); } else{ map.put(ch, 1); } } int max=0; char t = ' '; Iterator iterator=map.keySet().iterator(); while(iterator.hasNext()){ Character character = (Character) iterator.next(); System.out.println(character+":"+map.get(character)); if(map.get(character)>max){ max = map.get(character); t = character.charValue(); } } System.out.println(t); for(int i=0;i<in.length();i++){ if(in.charAt(i)==t || in.charAt(i)==(t-'A'+'a')){ System.out.print(in.charAt(i)); } } } }