Query operation result over range [left, right] inclusive.
(self, left: int, right: int)
| 86 | parent //= 2 |
| 87 | |
| 88 | def query_range(self, left: int, right: int) -> T: |
| 89 | """Query operation result over range [left, right] inclusive.""" |
| 90 | if left > right or left < 0 or right >= self.size: |
| 91 | return self.default_value |
| 92 | return self._query_range(1, 0, self.tree_size - 1, left, right) |
| 93 | |
| 94 | def _query_range(self, node: int, start: int, end: int, left: int, right: int) -> T: |
| 95 | """Recursive implementation of range query.""" |