文字列に文字を追加したいのですが、最終的なリストのすべての文字が一意であることを確認したいと思います。
例:"aaabcabccd"
→"abcd"
もちろん、私は2つの解決策を考えています。list
1つは、文字をASCIIコードにマップするを使用しています。したがって、文字に遭遇するたびに、インデックスがに設定されTrue
ます。その後、リストをスキャンして、設定されたものをすべて追加します。時間計算量はO(n)になります。
別の解決策は、とを使用しdict
て同じ手順に従うことです。すべての文字をマッピングした後、辞書の各キーの操作を実行します。これには、線形の実行時間もあります。
私はPythonの初心者なので、どちらがよりスペース効率が良いのか疑問に思いました。どちらをより効率的に実装できますか?
PS :リストを作成するときの順序は重要ではありません。