Objective: Given a String, write a program to find the largest and smallest word in it.
Example:
Input String: test Smallest Word: test Largest Word: test ------------------ Input String: This problem is solved at the Algorithms tutorial horizon Smallest Word: is Largest Word: Algorithms
Approach:
Do a single traversal and keep track of the longest ad smallest words using word lengths.
See the code for more understanding, it is self-explanatory.
Code:
Output:
Input String: test Smallest Word: test Largest Word: test ------------------ Input String: This problem is solved at the Algorithms tutorial horizon Smallest Word: is Largest Word: Algorithms
A rather Short solution
Tme complexity : O(nLogn)
static void findLongestAndShortest(String[] words) {
Arrays.sort(words,Comparator.comparing(String::length));
System.out.println("smallest word : " + words[0]);
System.out.println("longest word:" + words[words.length-1]);
}