Java 循环后缀数组的创建

Java 循环后缀数组的创建,java,sorting,Java,Sorting,对于一个家庭作业问题,我们得到一个长度为n的字符串,我们被告知创建排序后的后缀,并对它们进行排序,这样我们就可以返回与排序列表中第i个索引的原始索引相对应的字符串。例如,给定字符串“bears”,我们得到如下结果: ! 换句话说,最终的_index[i]值为2意味着最初位于索引2的后缀位于排序列表中的索引i 我的问题是,显而易见的解决方案是,不允许使用子字符串构建排序后的后缀,然后对这些后缀进行排序,因为我们不允许显式构建后缀。如何克服这一限制?谢谢你的帮助 使用comparator通过调用 公

对于一个家庭作业问题,我们得到一个长度为n的字符串,我们被告知创建排序后的后缀,并对它们进行排序,这样我们就可以返回与排序列表中第i个索引的原始索引相对应的字符串。例如,给定字符串“bears”,我们得到如下结果:

!

换句话说,最终的_index[i]值为2意味着最初位于索引2的后缀位于排序列表中的索引i


我的问题是,显而易见的解决方案是,不允许使用子字符串构建排序后的后缀,然后对这些后缀进行排序,因为我们不允许显式构建后缀。如何克服这一限制?谢谢你的帮助

使用comparator通过调用 公共静态无效排序(T[]a,比较器c)

将字符串转换为字符数组

在comparator中,定义compare,以便按字典顺序一次扫描一个字符对后缀进行排序。。。 您不需要显式存储后缀

使用所有包装类而不是原始类