文字列を指定して、文字が連続している(つまり、連続した文字である)が、乱雑になっている(つまり、順序が狂っている)最長の部分文字列を見つけます。例:
入力:"owadcbjkl"
出力:形成されるのと同じくらい連続している"adcb"
と見なします。adcb
abcd
(これは面接の質問です。)
Pythonを使用して連続文字をチェックするord
条件と最小値と最大値を見つけて次のすべての文字がこの範囲内にあるかどうかを確認する条件の2つの条件でwhileループを実行することを考えています。
実行時間の複雑さを低く抑えてこの問題を解決する方法はありますか?私が達成できる最善の方法はO(N ^ 2)です。ここで、Nは入力文字列の長さであり、ord()
動作が遅いようです。