We define the following terms:
-
For example,
ball < cat,dog < dorm,Happy < happy,Zoo < ball. - A substring of a string is a contiguous block of characters in the string. For example, the substrings of
abcarea,b,c,ab,bc, andabc.
Given a string, , and an integer, , complete the function so that it finds the lexicographically smallest and largest substrings of length .
Input Format
The first line contains a string denoting .
The second line contains an integer denoting .
The second line contains an integer denoting .
Constraints
- consists of English alphabetic letters only (i.e.,
[a-zA-Z]).
Output Format
Return the respective lexicographically smallest and largest substrings as a single newline-separated string.
Sample Input 0
welcometojava
3
Sample Output 0
ava
wel
Explanation 0
String has the following lexicographically-ordered substrings of length :
[ ''ava'',''com'', ''elc'', ''eto'',''jav'',''lco'',''met'',''ome'',''oja'',toj'',''wel'' ]
We then return the first (lexicographically smallest) substring and the last (lexicographically largest) substring as two newline-separated values (i.e.,
ava\nwel).
The stub code in the editor then prints
ava as our first line of output and wel as our second line of output.
Program:
import java.util.Scanner;
public class Solution {
public static String getSmallestAndLargest(String s, int k)
{
String substring = s.substring(0, k);
String smallest = substring;
String largest = substring;
for (int i = 1; i <= s.length() - k; i++)
{
// Create a substring of length 'k'
substring = s.substring(i, i + k);
// If current substring is lexicographically smaller than 'smallest'
if (substring.compareTo(smallest) < 0)
{
smallest = substring;
}
// If current substring is lexicographically larger than 'largest'
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