difficulty:簡單
給定乙個整數陣列 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 方法。
solution 1. brute force
class numarray
int sumrange(int i, int j)
return count;
}private:
vectorm_vec;
};
思路別說了,渣渣只有這種想法,但是我居然通過,說好的超時呢?solution 2. 字首和
class numarray ;
思路字首和,對於sum(i,j)之間的計算可以轉換為sum(0,j+1)的和sum(0,i)之差。而後者可以在一開始就計算出來。
303 區域和檢索 陣列不可變
給定乙個整數陣列 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 說明 你可以假設陣列不可變。會多...
303 區域和檢索 陣列不可變
給定乙個整數陣列 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說明 你可以假設陣列不可變。會多次...
303 區域和檢索 陣列不可變
給定乙個整數陣列 nums,求出陣列從索引 i 到 j i j 範圍內元素的總和,包含 i j 兩點。實現 numarray 類 numarray int nums 使用陣列 nums 初始化物件 int sumrange int i,int j 返回陣列 nums 從索引 i 到 j i j 範圍...