この問題では、文字列が入力として与えられ、その文字列に含まれる単語を辞書順に並べ替える必要があります。これを行うには、文字列内の各単語 (スペースで区切られている) に 1 から始まるインデックスを割り当て、ソートされたインデックスとして出力を取得します。
リーリー入力文字列内の単語は辞書編集順に並べられているため、出力は「1 2」と表示されます。
いくつかの入力/結果シナリオを見てみましょう -
入力文字列内のすべての単語が同じであると仮定して、結果を見てみましょう -
リーリー取得された結果は単語の最後の位置になります。
ここで、同じ文字で始まる単語を含む入力文字列を考えてみましょう。結果の出力は、開始文字の後続の文字に基づきます。
リーリーこのメソッドの別の一般的な入力シナリオと得られる結果は次のとおりです -
リーリー注 - 返される位置は、入力文字列内のこれらの単語の元の位置です。これらの数値は、メソッド内で単語が並べ替えられると変更されません。
###アルゴリズム###
###例###
これで、文字列の並べ替えは -
になります。 リーリー 時間計算量- O(n) ###結論は### 私たちはマップを使用して並べ替えとマッピングを行います。ハッシュ マップを使用し、ベクトルまたは配列を並べ替えて、ハッシュ マップ内のインデックスを出力することもできます。時間計算量は O(n*log(n))、空間計算量は O(n) です。
以上がC++ プログラム: 単語の位置をアルファベット順に並べ替えます。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。