【发布时间】:2019-07-05 15:23:14
【问题描述】:
我想写一个输出后缀数组的函数。这是我目前所拥有的:
def suffixArray(s):
sa = []
for i in range(len(s)):
suffix= sorted([s[i:]])
sa = [len(s)-len(suffix[i:])
return list(sa)
这会输出一个错误,因为我认为我缺少一个额外的 if 语句,但我不确定如何去做。是的,我知道可能有更简单的方法来获取后缀数组,但我是 python 的初学者,我可以使用的函数很少。任何帮助表示赞赏。谢谢
还有一个我希望输入和输出的示例: 输入 --> suffixArray('banana') 输出--> [5, 3, 1, 0, 4, 2]
【问题讨论】:
-
输出中的每个数字代表什么?
-
您的问题并不完全清楚。显然您正在寻找输出后缀数组的索引,而不是实际的后缀数组?这看起来像 `['a', 'ana', 'anana', 'banana', 'na', 'nana']。
标签: python sorting suffix-array suffix