給定乙個整數陣列 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...