|
63 / 52 / 11
Регистрация: 14.01.2021
Сообщений: 406
|
||||||
Разделить слово на части02.04.2021, 22:38. Показов 3136. Ответов 21
Метки нет (Все метки)
Нужно разделить число на максимальное число частей так, чтобы каждая буква встречалась только в одной части.
из arsegg получится a r s e gg, из assembler получится не ass embler, но a ss emble r. Из remember получится remember. Вот мой код:
страстность получается: страстнос т ь должно: страстност ь ротмистрство получается: ротмистр с т в о должно: ротмистрство Алгоритм берет букву как проверочную и проверяет, есть ли она дальше в слове. Если она дальше есть, то в текущую часть добавляется текущая буква слова. Если её дальше нет, то часть добавляется в список и обнуляется, и алгоритм выполняется заново. Но проблема в том, что буквы, которые в части слова между проверочными буквами, могут повторяться потом.
0
|
||||||
| 02.04.2021, 22:38 | |
|
Ответы с готовыми решениями:
21
Разделить матрицу на 4 части
Разделить 2д вектор на равные части |
|
3582 / 2182 / 571
Регистрация: 02.09.2015
Сообщений: 5,510
|
|
| 02.04.2021, 23:09 | |
|
По теме: ничего не понятно.
1
|
|
|
63 / 52 / 11
Регистрация: 14.01.2021
Сообщений: 406
|
|
| 02.04.2021, 23:24 [ТС] | |
|
Arsegg, Нужно разделить слово на части. Каждая буква слова встречается только в одной из частей.
Пример assembler В слове assembler множество букв - a, s, e, m, b, l, r Нужно, чтобы каждая из этих букв встречалась только один раз во всех частях. Поэтому получается: a ss emble r (буква a встречается только в первой части, буква s только во второй части, буквы e, m, b, l встречаются только в третьей части, буква r встречается только в четвёртой части) Пример arsegg получается a r s e gg, т.к. буква a встречается только в первой части, буква r только во второй части и т.д. если бы было arsegga, то была бы только одна часть arsegga, т.к. нужно чтобы каждая буква встречалась во всех частях ровно один раз. Если разделить на arsegg a, то буква a будет встречаться в 2 частях, что неправильно, поэтому arsegga. Добавлено через 36 секунд А и нужно разделить на максимальное кол-во частей
0
|
|
|
3582 / 2182 / 571
Регистрация: 02.09.2015
Сообщений: 5,510
|
||||||
| 03.04.2021, 00:26 | ||||||
|
Как-то так:
0
|
||||||
| 03.04.2021, 00:30 | |
|
Не по теме: Боже! Кто выдумывает такую дичь?..
1
|
|
|
3582 / 2182 / 571
Регистрация: 02.09.2015
Сообщений: 5,510
|
||||||
| 03.04.2021, 00:31 | ||||||
Сообщение было отмечено gray621 как решение
Решение
Оптимизированная версия:
1
|
||||||
|
63 / 52 / 11
Регистрация: 14.01.2021
Сообщений: 406
|
|
| 03.04.2021, 12:11 [ТС] | |
|
Arsegg, как-то можно исправить мой вариант?
0
|
|
|
3582 / 2182 / 571
Регистрация: 02.09.2015
Сообщений: 5,510
|
||
| 03.04.2021, 12:26 | ||
|
P. S. collections.Counter я точно не стану переписывать в dict./upd Да и твой алгоритм работает за O(N ^ 2). Так, между делом, даже если его довести до ума - смысла в нем мало.
0
|
||
|
63 / 52 / 11
Регистрация: 14.01.2021
Сообщений: 406
|
||||||
| 04.04.2021, 14:19 [ТС] | ||||||
|
Arsegg, Я исправил свой вариант. Мне кажется это костыль, но теперь всё работает.
В else идёт проверка букв в этой части на наличие дальше в слове. while changes для проверки были ли добавлены буквы и если да, то проверка идёт опять и т.д. пока не будет изменений. Я думаю это быстрее, чем O(n**2)
0
|
||||||
|
3582 / 2182 / 571
Регистрация: 02.09.2015
Сообщений: 5,510
|
|
| 04.04.2021, 14:54 | |
|
0
|
|
|
3582 / 2182 / 571
Регистрация: 02.09.2015
Сообщений: 5,510
|
|||||||
| 04.04.2021, 15:19 | |||||||
0
|
|||||||
|
3582 / 2182 / 571
Регистрация: 02.09.2015
Сообщений: 5,510
|
||
| 04.04.2021, 15:30 | ||
|
0
|
||
|
3582 / 2182 / 571
Регистрация: 02.09.2015
Сообщений: 5,510
|
|
| 04.04.2021, 15:51 | |
|
0
|
|
|
63 / 52 / 11
Регистрация: 14.01.2021
Сообщений: 406
|
||||||
| 04.04.2021, 16:51 [ТС] | ||||||
|
eaa, Arsegg, не парьтесь особо, это же просто яндекс. Кстати eaa, пришлите своё решение, пожалуйста
Добавлено через 1 минуту кстати, а за сколько моё решение? Добавлено через 2 минуты вот решение Gdez,
Насколько быстрое решение Gdez? Добавлено через 4 минуты У меня костыль в решении видимо...
0
|
||||||
|
Status 418
|
|
| 04.04.2021, 22:06 | |
|
Да я то не парюсь))
Просто это классический пример когда программист игнорирует изучение алгоритмов. И доказывает что белое это чёрное ![]() Стандартная задача за O(n). Свое решение я описал здесь: Запруды
0
|
|
|
3582 / 2182 / 571
Регистрация: 02.09.2015
Сообщений: 5,510
|
|||||||
| 04.04.2021, 22:42 | |||||||
0
|
|||||||
| 04.04.2021, 22:42 | |
|
Помогаю со студенческими работами здесь
20
Разделить список на две части Как разделить матрицу на равные части Разделить список на равные части, сохранив порядок
Разделить байтовый массив на части и поместить с список Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
|
сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
|
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11
— это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
|
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11
Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
|
|
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
|
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/
O1rJuneU_ls
https:/ / vkvideo. ru/ video-115721503_456239114
|
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ВВЕДЕНИЕ
Введу сокращения:
аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
|
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi
ветка по-частям.
коммит Create переделка под биомассу. txt
вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
|