Skip to the code
cf.
+10 XP

#40 Page View Range Sums

easy

An analytics page shows daily view counts in views. Users select date ranges, given in queries as [left, right] pairs of day indexes, both included.

Write rangeSums(views, queries) that returns the total views for each query, in order. There can be many queries, so answer each one in O(1) after some setup.

Example 1

Input: views = [5,3,8,6,2], queries = [[0,2],[1,3],[4,4]]
Output: [16,17,2]

5 + 3 + 8 = 16, 3 + 8 + 6 = 17, and day 4 alone is 2.

Example 2

Input: views = [1,-1,1], queries = [[0,0],[0,2],[1,2]]
Output: [1,1,0]

Counts can be adjusted down, so negative numbers appear.

Constraints

  • 1 <= views.length <= 10^5
  • 0 <= queries.length <= 10^5
  • 0 <= left <= right < views.length
Saved in this browser

Run tries your code on the examples. Submit runs every test, including hidden edge cases, and solves the problem when they all pass.

Ctrl + Enter runs, Ctrl + Shift + Enter submits (⌘ on a Mac).