zoukankan      html  css  js  c++  java
  • 求字符串中出现最多次数的字母

    //求字符串中出现最多次数的字母,如果有多个,则都求出。BY MYSELF 已测试
    import java.util.*;
    public class FindValueOfMaxTimes{
        public static void main(String args[]){
            String input = "asdddgghhh";
            doString(input);
        }
        public static void doString(String input){
            char[] chars = input.toCharArray();
            TreeSet set = new TreeSet();
            for(int i=0; i<chars.length; i++){
                set.add(String.valueOf(chars[i]));//String.valueOf
            }
            Arrays.sort(chars);
            input = new String(chars);
            int max = 0 ;
            String maxString="";
            ArrayList maxlist = new ArrayList();
            Iterator it = set.iterator();
            while(it.hasNext()){
                String os = (String)it.next();//String。返回Object,需要强制转换
                int i = input.indexOf(os);
                int j = input.lastIndexOf(os);
                int times = j-i+1;
                if(times>max){
                    max=times;    
                    maxString=os;
                    maxlist.add(os);        
                }else if(times==max){
                    maxlist.add(os);
                }
            }
            int index=0;
            for(int i=0; i<maxlist.size(); i++){
                if(maxlist.get(i).equals(maxString)){//list可以get(i),set不行?必须用equals比较,不能用==
                    index=i;
                    break;
                }
            }
            for(int i=index; i<maxlist.size(); i++){
                System.out.println(maxlist.get(i)+" ");
            }
            System.out.println(max);
        }
    }
    
        
  • 相关阅读:
    leetcode刷题笔记303题 区域和检索
    leetcode刷题笔记301题 删除无效的括号
    20201208日报
    20201118日报
    20201117日报
    20201116日报
    20201115日报
    20201114日报
    20201113日报
    20201112日报
  • 原文地址:https://www.cnblogs.com/seven7seven/p/3777239.html
Copyright © 2011-2022 走看看