LeetCode 303. 區域和檢索 - 數組不可

題目描述: 區域和檢索 - 數組不可

給定一個整數數組  nums,求出數組從索引 到 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

說明:

  1. 你可以假設數組不可變。
  2. 會多次調用 sumRange 方法。

解題思路:

        這裏得看懂的是,NumArray()是該類的構造函數,所以應在其中初始化,把nums數組賦給成員。這樣在sunRange()中就可以用類中的成員v了。

代碼:

class NumArray {
public:
    vector<int> v;
    
    NumArray(vector<int> nums) {
        v = nums;
    }
    
    int sumRange(int i, int j) {
        int ans = 0;
        while(i <= j) {
            ans += v[i++];
        }
        return ans;
    }
};

/**
 * Your NumArray object will be instantiated and called as such:
 * NumArray obj = new NumArray(nums);
 * int param_1 = obj.sumRange(i,j);
 */

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章