import java.util.LinkedList; import java.util.Scanner; public class Main {     public static void main(String[] args) {         // TODO Auto-generated method stub         Scanner sc = new Scanner(System.in);         while(sc.hasNext()) {             String pa = sc.next();             String str = sc.next();             LinkedList<Integer> begin = new LinkedList<>();             LinkedList<Integer> end = new LinkedList<>();             int m =0,n=0;             while(m<pa.length()) {                 if(pa.charAt(m)==str.charAt(0)) {                     begin.add(m);                     m++;                 }                 else m++;             }             while(n<pa.length()) {                 if(pa.charAt(n)==str.charAt(str.length()-1)) {                     end.add(n);                     n++;                 }                 else n++;             }             if(begin.size()==0 || end.size()==0) {                 System.out.println(-1+" "+"-1");             }             else if(str.length()==1) {                 System.out.print(begin.peekFirst()+" "+begin.peekFirst());             }             else {                 int[] ans = new int[2];                 ans[1]=Integer.MAX_VALUE;                 //outer:                 for(int i=begin.size()-1;i>=0;i--) {                     for(int j=0;j<end.size();j++) {                         if(end.get(j)-begin.get(i)<str.length()-1) continue;                         else {                             if(str.length()==2) {                                 if(end.get(j)-begin.get(i)<ans[1]-ans[0]  ) {                                     ans[0]=begin.get(i);                                     ans[1]=end.get(j);                                 }                             }                             else {                                 int o=begin.get(i)+1;                                 int p=end.get(j);                                 int k=1;                                 while(o<p && k<str.length()-1 ) {                                     if(pa.charAt(o)==str.charAt(k)) {                                         k++;                                         o++;                                     }                                     else o++;                                 }                                 if(k!=str.length()-1) {                                     continue;                                 }                                 else {                                     if(end.get(j)-begin.get(i)<ans[1]-ans[0]) {                                         ans[0]=begin.get(i);                                         ans[1]=end.get(j);                                         //break outer;                                 }                             }                         }                     }                 }                 }                 if(ans[1]==Integer.MAX_VALUE) System.out.println(-1+" "+"-1");                 else System.out.println(ans[0]+" "+ ans[1]);             }         }     }      }
点赞 评论

相关推荐

牛客网
牛客企业服务