Java Substring Comparisons

  • + 0 comments

    import java.io.; import java.util.;

    public class Solution {

    public static void main(String[] args) {
        /* Enter your code here. Read input from STDIN. Print output to STDOUT. Your class should be named Solution. */
        Scanner sc = new Scanner(System.in);
        String str = sc.nextLine();
        int k = sc.nextInt();
        System.out.println(smallestSubString(str,k)+"\n"+largestSubString(str,k));
    }
    static String smallestSubString(String str,int k)
    {
        List<String> list = getSubStrings(str,k);
        //int len = list.length;
        return list.get(0);
    }
    static String largestSubString(String str,int k)
    {
        List<String> list = getSubStrings(str,k);
        int len = list.size();
        return list.get(len-1);
    }
    static List<String> getSubStrings(String str, int k)
    {
        List<String> subStr = new ArrayList<String>();
        int l = str.length();
        for(int i=0;i<l;i++)
        {
            String sub = "";
            boolean flag = false;
            for(int j=i;j<i+k;j++)
            {
                if(j>=l)
                {
                    //subStr.add(sub);
                    flag = true;
                    break;
                }
                else
                {
                     sub+=str.charAt(j);  
                }
            }
            if(flag)
            {
                break;
            }
            subStr.add(sub);
        }
        Collections.sort(subStr);
        return subStr;
    }
    

    }