2014-12-04 51 views
1

對於作業問題,我們給出了一個長度爲n的字符串,並且我們被告知創建排序的後綴並對它們進行排序,以便我們可以返回對應於原始索引的字符串排序列表中的第i個索引。例如,給定字符串「熊」,我們有如下:圓形後綴數組的創建

Commercial Photography

換句話說,final_index [i]值爲2表示最初在索引2處的後綴位於已排序列表中的索引i處。

我的問題是,明顯的解決方案,使用子字符串和構建sorted_suffixes,然後排序這些是不允許的,因爲我們不允許顯式構建後綴。如何克服這個限制?感謝您的幫助。

回答

1

使用比較器調用 排序後綴public static void sort(T [] a,Comparator c);

字符串轉換爲字符數組

在比較限定比較,使得它按後綴字典順序掃描一個字符時... 你不需要保存後綴明確....

使用所有包裝類而不是原始類別