|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
07.02.2021, 02:02 | #21 |
МегаМодератор
СуперМодератор
Регистрация: 09.11.2010
Сообщений: 7,291
|
Тогда я не понимаю проблемы. Только !слово+! является заменой, а !слово! не является?
Я думал, что findall и sub будут заметно дольше, чем split и join, но разница очень маленькая. Код:
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
|
07.02.2021, 18:18 | #22 |
Старожил
Регистрация: 24.01.2011
Сообщений: 3,043
|
насколько удобно этим пользоваться, учитывая, что это:
>> Сдвиг вправо Сдвигает биты числа вправо на заданное число позиций. 11 >> 1 даст 5. В двоичном виде 11 представляется как 1011, что будучи смещённым на 1 бит вправо, даёт 101, а это, в свою очередь, не что иное как десятичное 5 понятно, что это уже наверное на подсознательном уровне... ?? |
08.02.2021, 06:11 | #23 | |
МегаМодератор
СуперМодератор
Регистрация: 09.11.2010
Сообщений: 7,291
|
Ну да, в си привык к битовым операциям, поэтому удобнее. На самом деле всегда есть, что улучшить. Можно сделать код более лаконичным и коротким, сократить время выполнения, минимизировать затрачиваемую память. Например, четыре чуть отличных реализации:
Код:
Цитата:
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
|
|
08.02.2021, 13:59 | #24 |
Старожил
Регистрация: 24.01.2011
Сообщений: 3,043
|
|
09.02.2021, 20:06 | #25 |
Старожил
Регистрация: 24.01.2011
Сообщений: 3,043
|
я в Вашу функцию variants так толком и не вник, как подправить, чтобы не было ошибки
prev = variants(n - 1) [Previous line repeated 995 more times] RecursionError: maximum recursion depth exceeded это когда нет замен вообще и до строки кода которая предупреждает об этом код не доходит, так как ошибка возникает раньше, спс |
09.02.2021, 21:41 | #26 |
МегаМодератор
СуперМодератор
Регистрация: 09.11.2010
Сообщений: 7,291
|
Может быть лучше сначала проверять количество замен, а потом уже вызывать variants? Так как она работает только с положительным количеством замен. Можно изменить mem = {1: [1], 0: [], -1: []}. Можно добавить в саму функцию:
Код:
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
|
10.02.2021, 10:02 | #27 |
Старожил
Регистрация: 24.01.2011
Сообщений: 3,043
|
OK, спасибо
|
03.03.2021, 16:37 | #28 |
Старожил
Регистрация: 24.01.2011
Сообщений: 3,043
|
BDA, в курсе про import itertools
у Вас функция Код:
Код:
Код:
|
04.03.2021, 00:47 | #29 |
МегаМодератор
СуперМодератор
Регистрация: 09.11.2010
Сообщений: 7,291
|
Более быстрый вариант получился такой:
Код:
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
Последний раз редактировалось BDA; 04.03.2021 в 00:59. |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Вывести слова предложения в таком порядке, чтобы последняя буква каждого слова совпадала с первой буквой следующего слова ( java ) | huhu | Помощь студентам | 0 | 06.04.2012 19:42 |
Обязательные и необязательные вопросы | Rusl92 | PHP | 2 | 27.06.2011 14:04 |
Необязательные параметры в процедуре. | Alex Cones | Общие вопросы Delphi | 19 | 30.07.2010 20:57 |
Разбить текст на слова и произвести поиск каждого слова по текстовому массиву | Burning_brook | Microsoft Office Excel | 2 | 22.05.2010 01:56 |
Необязательные параметры метода -как? | boris-blade | Общие вопросы .NET | 2 | 24.03.2010 03:42 |