题目:对给定的一个字符串,找出有重复的字符,并给出其位置,如:abcaaAB12ab12 输出:a,1;a,4;a,5;a,10,b,2;b,11,1,8;1,12, 2,9;2,13。
import java.util.ArrayList;
import java.util.Scanner;
public class Main{
public static void main(String []args){
String str = "";
Scanner sc = new Scanner(System.in);
str = sc.next();
ArrayList list = new ArrayList<>();
for(int i=0;i<str.length();i++){
char c =str.charAt(i);
if(i==0){
list.add(c);
print(i,str,c);
}else{
for(int j=0;j<list.size();j++){
if(list.get(j)==c){
break;
}
if(j==(list.size()-1)){
list.add(c);
print(i,str,c);
}
}
}
}
}
private static void print(int i, String str, char c) {
// TODO Auto-generated method stub
for(int k=i;k<str.length();k++){
if(str.charAt(k)==c){
System.out.print(c+ ":" +k+ "; ");
}
}
System.out.println();
}
}
牛客里面的提示是:
**不通过
您的代码已保存
答案错误:您提交的程序没有通过所有的测试用例
case通过率为0.00%
测试用例:
kygexrrwunuwxalgcbxistydvrxmfyhbzgfpjwtrsaszqkxqjrgchhybxuzlmccafsljlfdse
对应输出应该为:
k:0,k:45
y:1,y:22,y:29,y:54
g:2,g:15,g:33,g:50
e:3,e:72
x:4,x:12,x:18,x:26,x:46,x:56
r:5,r:6,r:25,r:39,r:49
w:7,w:11,w:37
u:8,u:10,u:57
a:13,a:41,a:63
l:14,l:59,l:66,l:68
c:16,c:51,c:61,c:62
b:17,b:31,b:55
s:20,s:40,s:42,s:65,s:71
t:21,t:38
d:23,d:70
m:27,m:60
f:28,f:34,f:64,f:69
h:30,h:52,h:53
z:32,z:43,z:58
j:36,j:48,j:67
q:44,q:47
你的输出为:
k:0;k:45;**
有大神知道原因吗?是我代码的问题还是网站编程的问题?求帮忙解答下