Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.util.*;
- import java.lang.*;
- import java.io.*;
- public class Main
- {
- public static void main (String[] args) throws java.lang.Exception
- {
- Scanner sc=new Scanner(System.in);
- String s=sc.next();
- String p=sc.next();
- if(s.length()<p.length()){
- System.out.print("-1");
- return;
- }
- int n = s.length();
- int m = p.length();
- int pchar[] = new int[26];
- for(int i =0; i < m; i++){
- pchar[p.charAt(i)-'a']++;
- }
- int window[] = new int[26];
- int i = 0;
- int j = 0;
- int ans = 1000000;
- int index = 0;
- while( j < n) {
- window[s.charAt(j)-'a']++;
- int flag = 1;
- for(int k = 0; k < 26;k++) {
- if(pchar[k] != 0 && window[k] == 0 ) {
- flag = 0;
- break;
- }
- }
- if(flag == 1) {
- while(true) {
- //System.out.println(ans + " " + i + " " + j);
- if(ans > j - i + 1) {
- ans = j - i + 1;
- // System.out.println(ans);
- index = i;
- }
- if(pchar[s.charAt(i)-'a'] !=0 && window[s.charAt(i)-'a'] ==1) {
- window[s.charAt(i)-'a']--;
- i++;
- break;
- }
- else {
- window[s.charAt(i)-'a']--;
- }
- i++;
- //System.out.println(i);
- }
- }
- j++;
- }
- if(ans == 1000000) {
- System.out.print("-1");
- }
- else {
- System.out.print(s.substring(index,index + ans));
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement