与えられた文字列の次に大きい順列を求めるアルゴリズム
2023-10-20 16:27:59
質問
与えられた文字列の次に大きい順列を見つけるための効率的なアルゴリズムが欲しい。
どのように解決するのですか?
ウィキペディアには 記事 があります。また、次の順列を生成するアルゴリズムも記述されています。
引用元
次のアルゴリズムは、与えられた並べ換えの後に辞書式に次の並べ換えを生成します。これは与えられた並べ換えをインプレースで変更します。
- 最も高いインデックスを探す
i
となるようなs[i] < s[i+1]
. そのようなインデックスが存在しない場合、順列は最後の順列となる。- 最も高いインデックスを見つける
j > i
となるようなs[j] > s[i]
. このようなj
は存在しなければなりません。i+1
はそのようなインデックスであるため、存在する必要があります。- スワップ
s[i]
とs[j]
.- index以降の全ての要素の順序を逆転させる。
i
を経て最後の要素まで。
関連
-
[解決済み】クイックソートとヒープソートの比較
-
[解決済み] DPLLアルゴリズムはどのように動作しますか?[クローズド]
-
[解決済み] JavaScript で配列に値が含まれているかどうかを確認するにはどうすればよいですか?
-
[解決済み] 山積みされた靴下を効率よく組み合わせるには?
-
[解決済み] O(log n)とは具体的にどのような意味ですか?
-
[解決済み] 簡単な面接問題が難しくなった:1~100の数字が与えられたとき、ちょうどk個の数字が欠けていることを見つけなさい。
-
[解決済み】画像処理。コカ・コーラ缶」認識のためのアルゴリズム改良
-
[解決済み】アルゴリズムの時間複雑性を求めるには?
-
[解決済み】与えられた文字列のすべての並べ換えを生成する
-
[解決済み] ダイクストラアルゴリズムの時間複雑性計算の理解
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] グラフにおいて最小容量が最大となる経路の探索
-
[解決済み] 隣接リスト表現の時間複雑性?
-
[解決済み] T = {<M> | Mはwを受け入れるときはいつでも$w^R$を受け入れるTMである}とする。Tが決定不可能であることを示せ
-
[解決済み] アルゴリズム設計マニュアル』の解答はどこにあるのですか?[クローズド]
-
[解決済み] 任意の2頂点間の全接続を求めるグラフアルゴリズム
-
[解決済み] 二分探索木におけるk番目の最小要素を最適な方法で探す
-
[解決済み] 2つのリンクリストがマージされるかどうかをチェックします。もしそうなら、どこで?
-
[解決済み] エラトステネスの篩アルゴリズムの時間複雑性
-
[解決済み] Dijkstraのアルゴリズムはなぜdecrease-keyを使うのですか?
-
[解決済み] 並べ換えの遅延生成