集合list1存储倒数第二个元素(目标字符串),list2存储第二个字符串到倒数第三个元素(遍历比较的字符串),list3存储兄弟字符串,list4用来做中间集合为list1排序,排序不能影响list1,否则程序出错。
import java.util.*;
public class Main{
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
while(sc.hasNextLine()){
int count=0;
String s = sc.nextLine();
if(s.equals("")){
break;
}
String[] s1 = s.split(" ");
int num=Integer.parseInt(s1[0]);
char[] c1 = s1[s1.length - 2].toCharArray();
//System.out.println(c1);
List<Character> list1 = new ArrayList<>();
for(int i=0;i<c1.length;i++){
list1.add(c1[i]);
}
//System.out.println(list1);
List<String> list3 = new ArrayList<>();
List<Character> list2 = new ArrayList<>();
List<Character> list4 = new ArrayList<>();
for(int i=1;i<=num;i++) {
for (int j = 0; j < s1[i].length();j++) {
char[] c2 = s1[i].toCharArray();
list2.add(c2[j]);
}
//System.out.println(list2);
//System.out.println(list2.size());
boolean flag = true;
boolean flag2 = true;
if(list1.size()==list2.size()){
for (int i1 = 0; i1 < list1.size(); i1++) {
if (list1.get(i1) != list2.get(i1)) {
flag=false;
break;
}
}
for (int i1 = 0; i1 < list1.size(); i1++) {
list4.add(list1.get(i1));
}
Collections.sort(list4);
Collections.sort(list2);
for (int i1 = 0; i1 < list4.size(); i1++) {
if (list4.get(i1) != list2.get(i1)) {
flag2 = false;
break;
}
}
if (flag == false && flag2 == true) {
list3.add(s1[i]);
//System.out.println(list3);
count++;
//System.out.println(count);
}
list4.clear();
}
list2.clear();
}
Collections.sort(list3);
int num2 = Integer.parseInt(s1[s1.length - 1]);
//System.out.println(num2);
System.out.println(count);
if (count != 0&&list3.size()>=num2) {
System.out.println(list3.get(num2 - 1));
}
list3.clear();
}
}
}


京公网安备 11010502036488号