區間求和 II

2021-09-26 14:46:17 字數 1170 閱讀 1972

在類的建構函式中給乙個整數陣列, 實現兩個方法query(start, end)modify(index, value):

樣例1

輸入:

[1,2,7,8,5]

[query(0,2),modify(0,4),query(0,1),modify(2,1),query(2,4)]

輸出: [10,6,14]

說明:給定陣列 a = [1,2,7,8,5].

在query(0, 2)後, 1 + 2 + 7 = 10,

在modify(0, 4)後, 將 a[0] 修改為 4, a = [4,2,7,8,5].

在query(0, 1)後, 4 + 2 = 6.

在modify(2, 1)後, 將 a[2] 修改為 1,a = [4,2,1,8,5].

after query(2, 4), 1 + 8 + 5 = 14.

樣例2

輸入:

[1,2,3,4,5]

[query(0,0),query(1,2),quert(3,4)]

輸出: [1,5,9]

說明:1 = 1

2 + 3 = 5

4 + 5 = 9

querymodify的時間複雜度需要為o(logn).

在做此題前,建議先完成以下三題:

輸入測試資料 (每行乙個引數)如何理解測試資料?

class solution }}

/** @param start: an integer

* @param end: an integer

* @return: the sum from start to end

*/long long query(int start, int end)

/** @param index: an integer

* @param value: an integer

* @return: nothing

*/void modify(int index, int value)

}};

區間求和II

已知 在類的建構函式中給乙個整數陣列,實現兩個方法 query start,end 和 modify index,value 思路 這題非常奇怪,因為難度係數是最高的,但是類結構是完整的,上述兩個函式本身實現也是非常簡單的,我能想到唯一的點就是如何在多個函式之間共享資料,但似乎也算不上難點,而且之間...

LINTCODE 區間求和II

lintcode 區間求和ii 思路 線段樹的構造,線段樹的查詢,線段樹的修改的結合版,三個程式拼接再一起就是這個題目的解法了,和統計前面比自己小的數的個數一樣 class solution private segmenttreenode root public you may need to us...

範圍求和 II

給定乙個初始元素全部為 0,大小為 m n 的矩陣 m 以及在 m 上的一系列更新操作。操作用二維陣列表示,其中的每個操作用乙個含有兩個正整數 a 和 b 的陣列表示,含義是將所有符合 0 i a 以及 0 j b 的元素 m i j 的值都增加 1。在執行給定的一系列操作後,你需要返回矩陣中含有最...