次のコードを使用して文字列Sから空白を削除した場合、余分な空白/メモリを使用すると見なされますか?与えられた 'S'文字列の 'l'長さ。以下のような文字列操作は、Pythonで余分なスペースを使用しますか?
int n = l
while i < n
if S[i] == " ":
S = S[0:i] + S[i+1:]
n = len(S)
print "the new string ", S
編集:これは単なるサンプルコードです。その複雑さやスペースを削除する正しい方法についてコメントしないでください:)。ここでのコンテキストは、文字列演算を含むアルゴリズム設計の問題を解決する一方、余分なスペースを使用するという制限がありました。そして、私はこのような操作が余分なメモリ/スペースを使用しているかどうかを知りたかったのです。
「余分なスペースを使用する」とはどういう意味ですか? – Rojan
文字列のスペースを削除するには、このようにする必要がありますか? "space-complexity"タグはスペース文字を扱うアルゴリズムではありません... –
まあ、O(N^2)時間がかかっています。それはO(N)のスペースを取るが、新しい文字列を作るものであれば、私はそれを「余分」と呼ぶことはないだろう。 –