Рубрики
Без рубрики

День № 8: Количество туалетных деревьев с помощью Python

Всем привет. Сегодня день 8 # 100 дней. Получил проблему, ранее аська … Теги с Python, Prolog, начинающим.

100 дней кода (8 частей серии)

Всем привет. Сегодня день 8 # 100 дней. Получил проблему, ранее заданную Google с легким тегом к нему.

Вопрос в день № 8:

Евгодное дерево (которое означает «Универсальное значение») – это дерево, где все узлы под ним имеют одинаковое значение.

Учитывая root до бинарного дерева, подсчитайте количество унций Unival.

Например, в следующем дереве 5 Unival Subtree:

   0
  / \
 1   0
    / \
   1   0
  / \
 1   1

Подход

  • Прежде чем перейти к главной логике, давайте обсудим о Грубая сила Способ решить это:

    • Начиная с корня, мы проверяем, есть ли непосредственные дети одинаковое значение, что и корневой узел, а затем дети непосредственных узлов и так далее.
    • Мы повторяем этот процесс для каждого поддерева, заканчивающегося во время принятия процесса.
  • Оптимальный способ решить эту проблему заключается в использовании подхода снизу вверх. Сначала мы начинаем с узлов листьев, и переходим к верхним уровням и используем одинарное значение дочернего поддерева, чтобы решить, является ли основное дерево одинарным деревом или нет.

Код Python

Выход

No. of unival subtrees= 5

Чтобы понять рекурсию за настоящим Кодом, пожалуйста, нажмите здесь

Не стесняйтесь обращаться за любым зазором запросов.

Спасибо и ура:)

100 дней кода (8 частей серии)

Оригинал: “https://dev.to/nmreddy1911/day-8-number-of-unival-trees-using-python-5ha4”