Задача по рекурсії на Python
— — — — — — —
Вказано: вам дається шаблон класу Python.У цьому класі є один
класовий змінний вектор, є списком не-негативних інтегрів і є
Зберігається (в позиціях 0, 1, 2, (N-1)), де цілі
Позиція (N-1) становить 0.Задача: напишіть рекурсивну функцію "Findallpaths", щоб знайти все можливе
Шлях через V, починаючи з позиції 0, і закінчуючи з
Позиція (N-1), відповідно до нижчезазначеного правила.Якщо багато
Шлях існує, додайте всі з них до класової змінної під назвою «Шлях».Якщо такого шляху не існує, то «дороги» повинні бути порожнім списком.Ви також
Потрібно написати функцію під назвою «Путеки повернення», яка
Список з списків.Правило: з позиції I, наступна позиція на шляху повинна бути або I+X,
Або I-X, де X є не-негативним цілером, що зберігається в позиції I.Не існує можливого шляху від позиції I до позиції I+X, якщо
Будь-яка з цих двох умов містить:
Позиція I+X перевищує кінець V.
Позиція I+X вже на шляху.Не існує можливого шляху від позиції I до позиції I-X, якщо
Будь-яка з цих двох умов містить:
Позиція I-X знаходиться за межами початку V.
Позиція I-X вже на шляху.Прикладом є:
Припустимо, що V містив наступне:
Позиція: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11
Всього: 2, 8, 3, 2, 7, 2, 2, 3, 2, 1, 3, 0
Один шлях – це:
0, 2, 5, 7, 4, 11
Це означає, що ви можете отримати від позиції 0 до позиції 11 від V за допомогою
За шляхом позицій: 0, 2, 5, 7, 4, 11
Зверніть увагу, що існують і інші шляхи, такі як:
0, 2, 5, 3, 1, 9, 8, 10, 7, 4, 11
Рекурсивний алгоритм
• • • • • • • •
Ваше рішення повинно використовувати рекурсивну функцію, щоб ідентифікувати дороги.Ви повинні виконувати рекурсивну функцію наступним чином:
Деф Findallpaths (само, позиція, рішення):
"Findallpaths" займає початкову частину шляху вирішення, і
Потенційна наступна позиція рішення в векторі.Він розкриває
Шляхи з даною позицією, прикріплені до даного рішення
Шлях до цього часу.Класові змінні шляхи - це список списків і функція
«Гетпати» повертають
Доступ до:
— — — — — — —
Це буде корисно, якщо ви не спробуєте написати повну
Пошук проходить одночасно, але, замість цього, починається з простих
Прототип, отримуйте його працювати, а потім збільшуйте функціонування
До прототипу, поки ви не досягнете завершеного завдання.Наприклад:
1 .Почніть з прототипу «Findallpaths», який просто повертає 0
Якщо немає шляху розв'язання, і повертається 1 якщо є шлях розв'язання
ІснуєЦей прототип не зберігає сліду за рішенням
ДорогаЦей прототип просто повертає 1 перший раз, коли
Позиція зустрічей (розмір-1) у своїх дослідженнях.Цей прототип має лише 2 параметри: позицію і V.
2 .Змінити "Фіндальпати" для того, щоб зберегти відстеження шляху вирішення знайдено
У частині 1 вище.Додайте параметри рішення, і зберігайте це
Дорога до вирішення в ній.«Фіндальпати» повертаються так само, як і
Прототип 1 вище, за винятком його дзвінка знайде рішення
Шлях у параметрі рішення.Додайте додаткові параметри
До «Фіндальпатів» як це необхідно.3 .Змінити "Фіндальпати", щоб продовжувати досліджувати після рішення
Дорога знайдена.Трік полягає в тому, щоб змусити рекурсію
Продовжуйте йти, навіть після того, як ви знайдете рішення.Він повертається тільки тоді, коли кожен
Дорога була розглянута (по правилу).Приклади ротації:
— — — — — — —
Приклад віктора: [2, 8, 3, 2, 7, 2, 2, 3, 2, 1, 3, 0]
Важливі шляхи:
0, 2, 5, 7, 4, 11
0, 2, 5, 3, 1, 9, 10, 7, 4, 11
0, 2, 5, 3, 1, 9, 8, 10, 7, 4, 11
0, 2, 5, 3, 1, 9, 8, 6, 4, 11
Прикладом цього рішення немає:
3, 1, 1, 3, 4, 2, 5, 3, 0
Використовуйте A1Tester.Py для тестування коду
Додатки 2
Відгук замовника про співпрацю з Захаром Шимкевичем
Задача по рекурсії на PythonРобота виконана швидко і якісно, дякую!
Відгук фрилансера про співпрацю з Евгениєм Кузнецовим
Задача по рекурсії на PythonКонтактний клієнт, приємно працювати з людиною, яка розуміє тему проекту. Запрошуємо до співпраці)
Актуальні фриланс-проєкти в категорії Python
Створення бота багато фунціонального бота в телеграм
1000 UAH
(Всі матеріали предоставлю в приватні повідомлення) Ось детальний опис проєкту: Псіля натискання кнопки /start Бот присилає текст з правилми та умови користування (під текстом, кнопка ‘ознакомлен’) Після натискання на кнопку, наступне повідомлення ʼпроверка на подпискуʼ Три… Python, Розробка ботів ∙ 9 хвилин тому ∙ 11 ставок |
Знайти товарний фід (Google Merchant XML) для сайту на OpenCart
700 UAH
Необхідно знайти пряме посилання на діючий товарний фід (XML) конкурента для Google Merchant Center Платформа (CMS): OpenCart / ocStore Знайти оригінальний фідВимоги до результату: Робоче посилання на XML-файл Python, Парсинг даних ∙ 2 дні 13 годин тому ∙ 22 ставки |
Розробка Тік-Ток ферми (контент-завод)Необхідно розробити систему для централізованого управління кількома TikTok-акаунтами з автоматичною публікацією контенту, використанням індивідуальних проксі та імітацією природної активності акаунтів. Функціональні вимоги1. Управління акаунтами Додавання та видалення… Python, Розробка ботів ∙ 3 дні тому ∙ 19 ставок |
Покращити роботу Claude Code та роботу з написанням програмного забезпеченняЗараз розробляю СРМ та Аналітику, софт. Роблю через Клод Код, але розумію, що результати не найкращі в плані змін. Є 2 задачі - Потрібно допомогти зробити пресет по навичкам, мд і так далі, щоб покращити якість. Взяти перевірені, з якими працювали, а не з інтернету перші. - В… AI та машинне навчання, Python ∙ 3 дні 7 годин тому ∙ 24 ставки |
Система OCRПотрібна система розпізнавання тексту на поштових конвертах (індекс кому - лише числа). Текст інколи може бути рукописним Розпізнавання марок (підрахунок кількості та номіналу) Python ∙ 3 дні 10 годин тому ∙ 25 ставок |