前提・実現したいこと
文字列Sと文字列Tを入力し、Tのすべての文字を含むSの最小連続部分文字列を計算量O(n)で見つけるプログラムを作成しています。
ここでnはSの文字数です。
またS、Tはともにアルファベット
Tに文字の重複はありません
S内にT内のすべての文字を網羅するウィンドウがない場合は、空の文字列 "" を返し、網羅する連続部分文字列がある場合は、Sには必ず1つの固有の最小連続部分文字列しかないことが保証されています。
例えば、
入力
S = "ADOBECODEBANC", T = "ABC"
に対し、
"BANC"
を出力します。
0(n)で実行可能なアルゴリズムを教えていただきたいです。
発生している問題・エラーメッセージ
実装を試みたのですが、計算量が0(n^2)になってしまいます。
試したこと
動的計画法を用いた。
回答3件
あなたの回答
tips
プレビュー