Java Substring Comparisons
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
abc
area
,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 .
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.
newline-separated
string.
Sample Input 0
welcometojava
3
Sample Output 0
ava
wel
Explanation 0
String has the following lexicographically-ordered substrings of length :
We then return the first (lexicographically smallest) substring and the last (lexicographically largest)
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
output.
ava
as our first line of output and wel
as our second line ofoutput.
Solution:
import java.util.Scanner;
public class Solution {
public static String getSmallestAndLargest(String s, int k) {
public static String getSmallestAndLargest(String s, int k) {
String smallest = "";
String largest = "";
StringBuffer sb = new StringBuffer();
for(int i=0; i<s.length()-(k-1); i++){
sb.append(s.substring(i,i+k)+" ");
}
String str = sb.toString();
String arr[] = str.split(" ");
java.util.Arrays.sort(arr);
smallest = arr[0];
largest = arr[arr.length-1];
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));
}
}
No comments:
Post a Comment