Given a dictionary of words, where will a newly coined word be most likely
We are given k, the length of the new word, and dictionary, a String of
words in ascending alphabetical order.
Suppose that the new word is equally likely to be any k-letter word that is
not already in the dictionary. Return the most likely 0-based index for the
new word. If there is more than one most likely index, return -1.
|Method signature:||int likely(String dictionary, int k)|
|(be sure your method is public)|
|-||dictionary will contain between 1 and 50 elements, inclusive.|
|-||Each element of dictionary will contain between 1 and 50 characters, inclusive.|
|-||Each character in each element of dictionary will be a lowercase letter ('a'-'z').|
|-||The elements of dictionary will be distinct and in ascending alphabetical order.|
|-||k will be between 1 and 10, inclusive.|
|-||There will be at least one k-letter word that is not in dictionary. |
There are many more 1 letter words before "time" than either between
"time" and "zoology" or after "zoology".
12 words ("b", "c", ..., "m") would have index 1, while 11 ("n", ... , "x")
would have index 2.|
With the same dictionary but a longer new word, it becomes most likely
that the new word will go between "ma" and "xz".
There are 23 equally likely 1-letter words (since 3 are already in the
dictionary). 0 would have index 0, 11 would have index 1, 11 would have
index 2, and 1 would have index 3. So no index is most likely.|
This problem statement is the exclusive and proprietary property of TopCoder, Inc. Any unauthorized use or reproduction of this information without the prior written consent of TopCoder, Inc. is strictly prohibited. (c)2010, TopCoder, Inc. All rights reserved.