Given a string, , and an integer, , complete the function so that it finds the lexicographically smallest and largest substrings of length .
Function Description
Complete the getSmallestAndLargest function in the editor below.
getSmallestAndLargest has the following parameters:
- string s: a string
- int k: the length of the substrings to find
Returns
- string: the string ' + "\n" + ' where and are the two substrings
Input Format
The first line contains a string denoting .
The second line contains an integer denoting .
Constraints
- consists of English alphabetic letters only (i.e.,
[a-zA-Z]).
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) 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.
Approach1:
public static String getSmallestAndLargest(String s, int k) { String smallest = ""; String largest = ""; String[] list = new String[s.length() - k + 1]; for (int i = 0; i <= s.length() - k; i++) { String str = s.substring(i, i+k); list[i] = str; } smallest = list[0]; largest = list[0]; for(int i = 1; i < list.length; i++) { if (list[i].compareTo(smallest) < 0) { smallest = list[i]; } if (list[i].compareTo(largest) > 0){ largest = list[i]; } } return smallest + "\n" + largest; }
Approach 2:public static String getSmallestAndLargest(String s, int k) { String smallest = ""; String largest = ""; // Complete the function // 'smallest' must be the lexicographically smallest substring of length 'k' // 'largest' must be the lexicographically largest substring of length 'k' java.util.List<String> a = new java.util.ArrayList<>();
for(int i=0;i<s.length()-k+1;i++){ a.add(s.substring(i,i+k)); } java.util.Collections.sort(a); smallest = a.get(0); largest = a.get(a.size()-1); return smallest + "\n" + largest; }
No comments:
Post a Comment