區域和檢索 陣列不可變

2022-09-15 09:21:12 字數 954 閱讀 5347

給定乙個整數陣列  nums,求出陣列從索引 i 到 j  (i ≤ j) 範圍內元素的總和,包含 i,  j 兩點。

給定 nums = [-2, 0, 3, -5, 2, -1],求和函式為 sumrange()

sumrange(0, 2) -> 1

sumrange(2, 5) -> -1

sumrange(0, 5) -> -3

你可以假設陣列不可變。

會多次呼叫 sumrange 方法。

這道題可以用動態規劃的思想來解決,即sumrange(i, j) = dp[j] - dp[i],dp陣列為當前位置的sums和。

可以模擬為:有a、b、c三個點依次在一條直線上,求dist(b,c) = dist(a,c) -dist(a,b)

區域和檢索 陣列不可變

注意需要多次呼叫sumrange方法,所以不能簡單的進行區間遍歷求和,動態規劃一下,記錄一下 每個區間的和,然後根據索引直接求出結果。class numarray sums new int length sums 0 nums 0 for int i 1 i length i public int ...

區域和檢索 陣列不可變

給定乙個整數陣列 nums,求出陣列從索引 i 到 j i j 範圍內元素的總和,包含 i,j 兩點。示例 給定 nums 2,0,3,5,2,1 求和函式為 sumrange sumrange 0,2 1 sumrange 2,5 1 sumrange 0,5 3 說明 你可以假設陣列不可變。會多...

Leetcode 區域和檢索 陣列不可變

描述 給定乙個整數陣列 nums,求出陣列從索引 i 到 j i j 範圍內元素的總和,包含 i,j 兩點。說明 可以假設陣列不可變 會多次呼叫區間和sumrange 方法 示例 給定 nums 2,0,3,5,2,1 求和函式為 sumrange sumrange 0,2 1 sumrange 2...