は、例として次の文字列を取る:文字列内の特定の文字のインデックスを追跡する最も効率的な方法は何ですか?
「速い茶色のキツネ」
今迅速で、qは、文字列(0から始まる)のインデックス4であり、キツネでfは指数であります16.ここで、ユーザーがこの文字列にもう少しテキストを入力するとします。
「非常に速い濃い茶色のキツネ」
今すぐqはインデックス9であり、fは、インデックスの元のインデックスを追跡する最も効率的な方法は何26
でありますどのくらいの文字がユーザによって追加されても、クイックではq、fではfで?
言語は私にとって重要ではありません。これは何よりも理論的な疑問です。あなたが望む言語を使用して、一般的に人気の高い現在の言語にしてください。
私が与えたサンプルの文字列は短いですが、私は効率的に任意のサイズの文字列を処理できる方法を望んでいます。したがってオフセットを使って配列を更新すると、短い文字列でも動作しますが、多くの文字が混乱することになります。
例では、文字列内の一意の文字のインデックスを検索していましたが、茶色のoとfoxのoなど、別の場所で同じ文字のインデックスを追跡できるようにしたいと考えています。だから、検索は問題外です。
私は答えが時間とメモリの両方で効率的であることを望んでいましたが、私がただ1つを選択しなければならない場合は、パフォーマンスの速度についてもっと気にしました。