303 區域和檢索 陣列不可變

2021-09-01 00:13:31 字數 710 閱讀 4839

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

解題思路:動態規劃

我們定義乙個陣列 dp[n]存放nums前n個數的和

那 sumrange(a, b) 就是 dp[b]-dp[a-1]

我們要做的就是為dp[n]賦值

賦值方式可以使用動態規劃

dp[n] = dp[n-1] + nums[n]

好了,貼**

class numarray 

this.result = new int[nums.length];

this.result[0]=nums[0];

for (int i = 1; i < nums.length; i++)

}public int sumrange(int i, int j)

}

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 範圍...

303 區域和檢索 陣列不可變

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說明 ...