Problem
給定 N 個字串 (N 為偶數),現在來了一個人,將其命名名字,其名字長度越小越好,同時必須按照字典順序時,必須大於等於前 N/2 個人,大於 N/2 個人。
在相同的最短長度下,輸出一個字典順序最小的。
Sample Input
|
|
Sample Output
|
|
Solution
先對輸入的字串排序,找到相鄰的兩個中位數字串 p, q (p < q)。
接著分開討論。
p.length() < q.length()
:要不前綴相同,或者是比 p 大一點,當前綴都相同時跟 p 相同。p.length() >= q.length()
:一樣貪心處理前綴,特別小心 ‘Z’ 的存在,這種情況將會逼不得已將長度增加,而其他狀況只要想辦法增加字典順序的大小即可。
|
|