50分求此题的简便算法
在一个字符窜中找出出现次数最多的子字符串。
比如:abcereab 显示结果 ab
问题点数:50、回复次数:6Top
1 楼treeroot(旗鲁特)回复于 2006-03-06 17:40:43 得分 0
任意组合?Top
2 楼treeroot(旗鲁特)回复于 2006-03-06 17:42:29 得分 0
最多的当然是一个字符的子串了
a,b,eTop
3 楼topking2001(小妖)回复于 2006-03-06 17:52:49 得分 0
应该是2个或2个以上的组合Top
4 楼lfkanglei(kanglei)回复于 2006-03-06 18:29:26 得分 50
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;
}
Top
5 楼wizardblue()回复于 2006-03-06 18:46:51 得分 0
楼主什么意思,最长的出现次数最多的连续子串?Top
6 楼topking2001(小妖)回复于 2006-03-06 18:50:43 得分 0
虽然在X里出了EX,不过思路蛮清晰的 谢了Top




