170 похожих чатов

Есть вхождение: “{Hello|Hi}, {apple|banana} bar” Необходимо получить варианты: Hello, apple bar Hello, banana bar Hi,

apple bar
Hi, banana bar

Вариантов рандомизация много. Рандомизация одного элемента может быть больше 2 {1|2|3|4…}

По какому пути вы бы реализовали этот алгоритм? Очень благодарен за ответы!

4 ответов

10 просмотров
Никита- Автор вопроса

http://www.angarsky.ru/drupal/skript-dlya-generacii-tekstov-iz-shablona.html

Никита- Автор вопроса
Никита
http://www.angarsky.ru/drupal/skript-dlya-generaci...

Этот вариант не подошел. Он генерирует рандомное количество вариантов относительно вводимых данных. Даже если всего вариаций 4, он сгенерирует больше 4 с повторами У меня была задача перебрать всевозможные варианты без повторов. Массив вариаций пока что без многоуровневого вложения, то есть {|}, без {{|}|{|}} В интернете вариантов не нашел совсем. Все сводятся к заведомо известному количеству вариаций, то есть с коллизиями (это не подходит) По итогу я сам решил эту задачу. Рекурсивным массивом с foreach. Исходный текст разбивается на макросы, вместо скобок - $0, $1 по порядку. В рекурсивном массиве создается переменная временного текста, где номер цикла рекурсива определяет заменяемый макрос. Когда функция видит, что дальше нет макроса, то есть следующий по номеру массив с вариантами отсутствует, то сохраняет строку. После возвращается на цикл назад и так по новой. Я скинул бы скрины, но запрещено. Получается задача закрыта, уже кажется, что все просто, хотя казалось невыполнимым Основную рекурсивную функцию по итогу я сделал в 3 строчки 😳

Никита- Автор вопроса
Никита
Этот вариант не подошел. Он генерирует рандомное к...

Секунда тратится на 2 миллиона вариантов, то есть по оптимизации все идеально

Никита- Автор вопроса
Никита
http://www.angarsky.ru/drupal/skript-dlya-generaci...

122 строчка, тоже используется rand (а код в целом каша). В моем же решении и задаче rand внегласно запрещен. Такие дела 🙂

Похожие вопросы

Обсуждают сегодня

А еще в перле можно уже @arr1 + @arr2?
Sergei Zhmylove
53
Привет всем. появился вопрос. Разрабатываю сайт, в данный момент он запущен. Хостинг beget. Добавляю на сайт яндекс метрику с помощью полей client-settings (взято отсюда http...
Andrew
2
я не магистр хаскеля, но разве не может лейзи тип конвертнуться в не-лейзи запросив вычисление содержимого прям при инициализации?
deadgnom32 λ madao
100
;.686 ;Система команд процессора 686 ;.MODEL FLAT,stdcall ;Модель памяти плоская, стандартный ;вызов процедуры ;option casemap:no...
Егор Анелькин
1
Есть вопрос: допустим есть железка с каким-то интерфейсом(допустим usb), но как по этому интерфейсу железкой управлять неизвестно, прог нету, а управлять очень хочется надо. К...
Mixail Frolov
15
а как ловят такое ghci> res <- getPos2 urlt 0 (alist !! 0) 200 ghci> res SearchAtom (Search "www.google.com" "/search?q=" "Haskell") "haskell.org" (SearchTS [(2024-05-06 07:...
Fedor
14
Так а кто может спарсить всех участников чата? Идишники
Magic
17
всем привет почти закончил курс После него можно писать свою операционку? Какие библиотеки надо использовать и куда дальше копать для изучения
Linus
13
Ребята, а из API геокодеров (по адресам в РФ) что сейчас актуального и есть ли среди актуального бесплатное/с нормаотным лимитом запросов? ситуация простая - на сайте периоди...
Dreamer_0x01 VeseloV
8
короче сгенерила мне эта штука код на ассемблере: struc string val { common local .value dq .value .value: if ~val eq db val end if db 0 } fo...
Vi Chapmann Chapmann
12
Карта сайта