Java Substring Comparisons

Sort by

recency

|

1759 Discussions

|

  • + 0 comments

    solution

    import java.util.Scanner;

    public class Solution {

    public static String getSmallestAndLargest(String s, int k) {
        String smallest = s.substring(0,k);
        String largest = s.substring(0,k);
    
        for(int i=0;i<=s.length()-k;i++){
            String subString=s.substring(i,i+k);
            if(subString.compareTo(smallest)<0){
                smallest=subString;
            }
            if(subString.compareTo(largest)>0){
                largest=subString;
            }
        }
    
        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));
    }
    

    }

  • + 0 comments

    public static String getSmallestAndLargest(String s, int k) { int length = s.length(); // initialize with the first substring String smallest = s.substring(0, k); String largest = s.substring(0, k);

        for (int i = 0; i <= length - k; i++) {
            String subStr = s.substring(i, i + k);
            if (subStr.compareTo(smallest) < 0) {
                smallest = subStr;
            }
            if (subStr.compareTo(largest) > 0) {
                largest = subStr;
            }
        }        
        return smallest + "\n" + largest;
    }
    
  • + 0 comments
    public static String getSmallestAndLargest(String s, int k) {
        String smallest = s;
        String largest = "";
    
        for(int i=0; i<s.length()-k+1; i++){
            String subString = s.substring(i,(i+k));
    
            if (subString.compareTo(smallest) < 0){
                smallest = subString;
            }
            if (subString.compareTo(largest) >= 0){
                largest = subString;
            }
        }
    
        return smallest + "\n" + largest;
    }
    
  • + 0 comments
    public static String getSmallestAndLargest(String s, int k) {
            String smallest = "";
            String largest = "";
    
            int a = 0, b = 0;
            for (int i=0; i<s.length()-(k-1); i++){
                 String sub = s.substring(i, i+k);
                 a = sub.compareTo(s.substring(a, a+k))>0 ? i : a;
                 b = sub.compareTo(s.substring(b, b+k))<0 ? i : b;
            }
            smallest = s.substring(b, b+k);
            largest = s.substring(a, a+k);
            
            return smallest + "\n" + largest;
        }
    
  • + 0 comments

    String smallest = "";
    String largest = "";

        if(k<=s.length()){
             for (int i = 0; i<=s.length()-k; i++){            
                if (s.substring(i,i+k).compareTo(smallest)<0 || smallest == "")  smallest = s.substring(i,i+k);
                if(s.substring(i,i+k).compareTo(largest)>0) largest = s.substring(i,i+k);                
             }
        }    
        return smallest + "\n" + largest;