[HackerRank]Java字串比較(Java String Compare)

題目描述

找出一個字串中長度為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」方法。接著只要在第一行輸出集合的第一個元素,第二行輸出集合的最後一個元素即可。

參考答案

關於作者

Magic Len

各位好,我是Magic Len,是這網站的管理員。我是台灣台中大肚山上人,畢業於台中高工資訊科和台灣科技大學資訊工程系,曾在桃機航警局服役。我熱愛自然也熱愛科學,喜歡和別人分享自己的知識與經驗。如果你有興趣認識我,可以加我的Facebook,並且請註明是從MagicLen來的。

相關文章