題目描述

找出一個字串中長度為k的子字串,並將他們依照編列辭典的方式進行排序。



辭典使用字母順序來排序,像是「ball」會在「cat」前,而「dog」會在「dorm」前。大寫字幕會在小寫字母的前面,如「Happy」在「happy」前,「Zoo」在「ball」前。

原題網址

https://www.hackerrank.com/challenges/java-string-compare

輸入格式

第一行包含一個由英文字母組成的字串,最長會有1000的字元。

第二行則為子字串的長度k。

輸出格式

第一行輸出辭典排序後最前面的字串,第二行輸出辭典排序後最後面的字串。

範例輸入

welcometojava
3

範例輸出

ava
wel

額外解釋

以下是長度為3的子字串:

wel
elc
lco
com
ome
met
eto
toj
oja
jav
ava

其中的「ava」在辭典的位置中是最前面的,「wel」是最後面的。

解題概念

這裡可以直接使用Java的集合(Collection)API所提供的排序(sort)功能來完成辭典排序。找出所有子字串後存入集合物件內,再對集合使用「sort」方法。接著只要在第一行輸出集合的第一個元素,第二行輸出集合的最後一個元素即可。

參考答案