Если я использую следующий код для удаления пробелов из строки 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
Edit: Это просто пример кода. Пожалуйста, не комментируйте его сложность и/или правильный способ удаления пробелов :). Контекст здесь заключался в том, что при решении вопроса проектирования алгоритма, включающего некоторую операцию строки, существовало ограничение использования дополнительного пространства. И я хотел знать, что такая операция использует дополнительную память/пространство или нет.
Что вы подразумеваете под «использованием дополнительного пространства»? – Rojan
вам _really_ нужно сделать так, чтобы удалить пробелы из вашей строки? и тег «space-complex» не относится к алгоритмам, обрабатывающим символы пространства ... –
Ну, это занимает время O (N^2), которое отстойно. Это занимает O (N) пространство, но так будет и все, что создает новую строку, поэтому я бы не назвал это «лишним». –