62,621
社区成员
发帖
与我相关
我的任务
分享
String[] a={"a","b","b","c","c","c","d","d","d","d","f","f","f","f","f"};
List<String> list = new ArrayList<String>();
String str = "";
for(String b : a){
str+=b;
}
int i = 0;
while(i < a.length){
str.substring(i);
int start = str.indexOf(a[i]);
int end = str.lastIndexOf(a[i]);
list.add("("+(start+1)+","+a[i]+")");
i = end +1;
}
for(String show : list){
System.out.println(show);
}
新手写的 可能想法不是很好 楼上那种用map去做的也很不错LinkedHashMap map = new LinkedHashMap();
for(int i=0; i<array.length; i++){
Integer number = Integer.valueOf(i);
Integer count = (Integer)map.get(nubmer);
if(count==null){
count=Integer.valueOf(0);
}else{
count=Integer.valueOf(count.intValue()+1);
}
map.put(number, count);
}
for(Iterator iter=map.entrySet();iter.hasNext();){
Map.Entry entry = (Map.Entry)iter.next();
System.out.println(entry.getValue()+","+entry.getKey());
}
跪求帮忙