在一个字符窜中找出出现次数最多的子字符串。比如:abcereab  显示结果 ab

解决方案 »

  1.   

    最多的当然是一个字符的子串了
    a,b,e
      

  2.   

    public static String maxCount(){
            String old = "abcereab";
            int count=0;
            ArrayList countList=new ArrayList();
            ArrayList wordList=new ArrayList();
            for(int i=0;i<old.length();i++){
                count=0;
                String oneWord=old.substring(i,i+1);
                for(int j=i;j<old.length();j++){
                    if(oneWord.equals(old.substring(j,j+1))){
                        count++;
                    }else{
                        break;
                    }
                    i=j;
                }
                countList.add(String.valueOf(count));
                wordList.add(oneWord);        }
            int index=-1;
            String maxCountValue=countList.get(0).toString();
            for(int i=0;i<countList.size();i++){
                if(Integer.parseInt(maxCountValue)<Integer.parseInt(countList.get(i).toString())){
                    maxCountValue=countList.get(i).toString();
                    index=i;
                }
            }
            String ret=countList.get(index).toString()+","+wordList.get(index);
            return ret;
        }
      

  3.   

    虽然在X里出了EX,不过思路蛮清晰的  谢了