Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save AbdullahMagat/dd823ea3a4041626d1369875e610bda1 to your computer and use it in GitHub Desktop.
Save AbdullahMagat/dd823ea3a4041626d1369875e610bda1 to your computer and use it in GitHub Desktop.
Hackerrank Java Substring Comparisons
import java.util.Scanner;
public class Solution {
public static String getSmallestAndLargest(String s, int k) {
String smallest = "";
String largest = "";
smallest = s.substring(0,k);
largest = s.substring(0,k);
// "Compare to" method doesn't turn just the equel case it also turns a value.
for(int i=0; i<=s.length()-k; i++ ){
String str = s.substring(i,k+i);
if (smallest.compareTo(str)>0){
smallest = str;
}
if(largest.compareTo(str)<0){
largest=str;
}
}
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));
}
}
@mstgdk
Copy link

mstgdk commented Aug 27, 2023

public static String getSmallestAndLargest(String s, int k) {
String smallest = "";
String largest = "";

    ArrayList<String> st = new ArrayList<>();
    int s_len = s.length();
    for (int i =0; i<=s_len-k; i++){
        String sk = s.substring(i,i+k);
        st.add(sk);
    }
   
    smallest = Collections.min(st);
    largest = Collections.max(st);

    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));
}

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment