重畳区間問題を解くためのアルゴリズムと実装手法
区間(Interval)を扱うアルゴリズム問題は、ソートと貪欲法(Greedy Algorithm)を組み合わせることで効率的に解決できる場合が多くあります。ここでは、「重複する区間の削除」「文字列の分割」「区間の統合」という3つの代表的なパターンについて解説します。
1. 無重畳区間の最小削除数
与えられた区間の集合から、重なりをなくすために削除する必要がある最小の区間 ...
9月3日 14:52 投稿
辞書順最小化を行う重複文字除去:単調スタックアルゴリズム
問題定義
与えられた文字列 s から、重複する文字をすべて除去します。ただし、結果の文字列には特定の条件下で複数の要素が存在せず、残るべき一文字のみを残す必要があります。この際、以下の制約を満たさなければなりません。
最終的な文字列は、元の文字列に含まれる文字の中で最も小さい辞書順であること。
文字列内での各文字の相対的な順序は保たれること。
入力 ...
5月18日 13:54 投稿