Skip to content

Commit 49f366e

Browse files
Refactor code
1 parent 60651f2 commit 49f366e

File tree

1 file changed

+5
-9
lines changed

1 file changed

+5
-9
lines changed

dynamic_programming/range_sum_query.py

+5-9
Original file line numberDiff line numberDiff line change
@@ -59,13 +59,8 @@
5959
so if we do prefix[r] - prefix[l - 1] it will be
6060
[0, r] - [0, l - 1] = [0, l - 1] + [l, r] - [0, l - 1] = [l, r]
6161
"""
62-
63-
from __future__ import annotations
64-
65-
6662
def prefix_sum(array: list[int], queries: list[tuple[int, int]]) -> list[int]:
6763
"""
68-
Some examples
6964
>>> prefix_sum([1, 4, 6, 2, 61, 12], [(2, 5), (1, 5), (3, 4)])
7065
[81, 85, 63]
7166
>>> prefix_sum([4, 2, 1, 6, 3], [(3, 4), (1, 3), (0, 2)])
@@ -77,12 +72,13 @@ def prefix_sum(array: list[int], queries: list[tuple[int, int]]) -> list[int]:
7772
for i in range(1, len(array)):
7873
dp[i] = dp[i - 1] + array[i]
7974

80-
# Read Algorithm section (Line 38)
75+
# See Algorithm section (Line 44)
8176
result = []
8277
for query in queries:
83-
res = dp[query[1]]
84-
if query[0] != 0:
85-
res -= dp[query[0] - 1]
78+
l, r = query
79+
res = dp[r]
80+
if l > 0:
81+
res -= dp[l - 1]
8682
result.append(res)
8783

8884
return result

0 commit comments

Comments
 (0)