Java Substring Comparisons

  • + 0 comments

    import java.util.Scanner;

    public class Solution {

    public static String getSmallestAndLargest(String s, int k) {
        String smallest = s.substring(0,k);
        String largest = smallest;
    
        int index = k;
    
        while(index <= s.length()){
    
            if(smallest.compareTo(s.substring(index-k,index)) > 0){
                smallest = s.substring(index-k,index);
            }
    
            if(largest.compareTo(s.substring(index-k,index)) < 0){
                largest = s.substring(index-k,index);
            }
    
            index += 1;
    
        }
    
        // Complete the function
        // 'smallest' must be the lexicographically smallest substring of length 'k'
        // 'largest' must be the lexicographically largest substring of length 'k'
    
        return smallest + "\n" + largest;
    }
    
    
    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);
        String s = scan.next();
        int k = scan.nextInt();
        scan.close();
    
        System.out.println(getSmallestAndLargest(s, k));
    }
    

    }