Skip to content

Commit 9f80a50

Browse files
committed
add tasks sprint 5
1 parent 2eba86c commit 9f80a50

File tree

2 files changed

+56
-0
lines changed

2 files changed

+56
-0
lines changed

README.md

+23
Original file line numberDiff line numberDiff line change
@@ -1726,6 +1726,29 @@ None<br>
17261726

17271727
---
17281728

1729+
<details>
1730+
<summary>
1731+
<b>Максимальная глубина (<a href="sprint_5/max_depth.py">max_depth.py</a></b>)
1732+
</summary>
1733+
1734+
#### Условие
1735+
Алла хочет побывать на разных островах архипелага Алгосы. Она составила карту.
1736+
Карта представлена в виде дерева: корень обозначает центр архипелага, узлы –— другие острова.
1737+
А листья —– это дальние острова, на которые Алла хочет попасть.
1738+
Помогите Алле определить максимальное число островов,
1739+
через которые ей нужно пройти для совершения одной поездки от стартового острова до места назначения,
1740+
включая начальный и конечный пункты.
1741+
1742+
#### Формат ввода
1743+
На вход подается корень дерева.
1744+
1745+
#### Формат вывода
1746+
Функция должна вернуть число, равное максимальному числу островов в пути (включая начальный и конечный пункты).
1747+
1748+
</details>
1749+
1750+
---
1751+
17291752
<details>
17301753
<summary>
17311754
<b>Разные деревья поиска (<a href="sprint_5/number_bst.py">number_bst.py</a></b>)

sprint_5/max_depth.py

+33
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
# Comment it before submitting
2+
class Node:
3+
def __init__(self, value, left=None, right=None):
4+
self.value = value
5+
self.right = right
6+
self.left = left
7+
8+
9+
def solution(root) -> int:
10+
if root is None:
11+
return 0
12+
13+
left = solution(root.left)
14+
right = solution(root.right)
15+
16+
if left > right:
17+
return left + 1
18+
else:
19+
return right + 1
20+
21+
22+
def test():
23+
node1 = Node(1, None, None)
24+
node2 = Node(4, None, None)
25+
node3 = Node(3, node1, node2)
26+
node4 = Node(8, None, None)
27+
node5 = Node(5, node3, node4)
28+
29+
assert solution(node5) == 3
30+
31+
32+
if __name__ == "__main__":
33+
test()

0 commit comments

Comments
 (0)