Здравствуйте,как понять задачу, что программа должна аллоцировать одну единицу памяти O(1). Дали задачу написать программу по выявлению палиндрома, с этим условием
Разрешено выделить память под некоторое количество переменных, которое не зависит от длины строки. Это вычурный способ запретить вам сделать копию строки, перевернуть ее и сравнить с оригиналом.
Ой спасибо большое, а не подскажете, что можно почитать или может вы объясните,какие действия аллоцируют одну единицу памяти, и что значит одна единица памяти? Один кластер?
Jacen11, А где можно поподробнее почитать про это, допустим создание функции,тоже аллоцирует одну единицу памяти, хотелось бы узнать как внутри это работает. Не могу найти правильного источника
Jacen11, Привет, хотел спросить это же получается подходит под условия задачи
a=""
if a.lower().replace("!","").replace(" ","").replace(",","") == a.lower().replace("!","").replace(" ","").replace(",","")[::-1]:
print("it is palindrom!!")
else:
print("It is not palindrom")
Tylen, нет, потому что это как раз то, что вам делать запрещено (копировать строку, а потом переворачивать копию) + дополнительные ненужные действия в виде удаления восклицательный знаков, пробелов и запятых.