以下面的字符串作为一个例子:跟踪字符串中特定字符索引的最有效方法是什么?
“快速褐色fox”
眼下快速的q是在字符串(开始于0)和在狐狸的F指数4是在索引16.现在让我们说用户在这个字符串中输入更多的文本。
“很快的暗棕色狐狸”
现在q为指数9和f是在指数26
什么是保持原有的指数跟踪的最有效的方法无论用户添加了多少个字符,都可以在狐狸中迅速找到f?
语言并不重要,我,这是比什么理论问题的所以在使用任何一种语言,你只想尽量保持它普遍流行和目前使用的语言。
我给出的示例字符串很短,但我希望有一种方法可以高效地处理任何大小的字符串。所以使用偏移量更新数组可以使用短字符串,但会遇到许多字符。
尽管在示例中我正在寻找字符串中唯一字符的索引,我也希望能够跟踪不同位置的相同字符的索引,例如棕色中的o和狐狸中的o。所以搜索是不可能的。
我希望的答案是时间和内存使用效率,但如果我不得不选择只有一个我更关心的性能速度。