Skip to content

Commit eaafd1c

Browse files
[pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
1 parent 55e6a87 commit eaafd1c

File tree

1 file changed

+10
-4
lines changed

1 file changed

+10
-4
lines changed

data_structures/persistent_segment_tree.py

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,13 @@
11
from __future__ import annotations
22

3+
34
class Node:
45
def __init__(self, value: int = 0) -> None:
56
self.value: int = value
67
self.left: Node | None = None
78
self.right: Node | None = None
89

10+
911
class PersistentSegmentTree:
1012
def __init__(self, arr: list[int]) -> None:
1113
self.n: int = len(arr)
@@ -81,8 +83,9 @@ def _update(self, node: Node, start: int, end: int, index: int, value: int) -> N
8183
new_node.left = node.left
8284
new_node.right = self._update(node.right, mid + 1, end, index, value)
8385

84-
new_node.value = (new_node.left.value if new_node.left else 0) + \
85-
(new_node.right.value if new_node.right else 0)
86+
new_node.value = (new_node.left.value if new_node.left else 0) + (
87+
new_node.right.value if new_node.right else 0
88+
)
8689

8790
return new_node
8891

@@ -121,12 +124,15 @@ def _query(self, node: Node, start: int, end: int, left: int, right: int) -> int
121124
if left <= start and right >= end:
122125
return node.value
123126
mid = (start + end) // 2
124-
return (self._query(node.left, start, mid, left, right) +
125-
self._query(node.right, mid + 1, end, left, right))
127+
return self._query(node.left, start, mid, left, right) + self._query(
128+
node.right, mid + 1, end, left, right
129+
)
130+
126131

127132
# Running the doctests
128133
if __name__ == "__main__":
129134
import doctest
135+
130136
print("Running doctests...")
131137
result = doctest.testmod()
132138
print(f"Ran {result.attempted} tests, {result.failed} failed.")

0 commit comments

Comments
 (0)