LINTCODE 區間求和II

2021-08-09 10:55:12 字數 966 閱讀 2326

lintcode——區間求和ii

思路:線段樹的構造,線段樹的查詢,線段樹的修改的結合版,三個程式拼接再一起就是這個題目的解法了,和統計前面比自己小的數的個數一樣

class

solution

};private:

segmenttreenode *root;

public:

/* you may need to use some attributes here */

/* * @param a: an integer array

*/solution(vector a)

long

long query(segmenttreenode *root, int start, int end)

/** @param index: an integer

* @param value: an integer

* @return: nothing

*/void modify(int

index, int value)

void modify(segmenttreenode *root, int

index, int value)

else

//root的值等於左節點加右節點

root -> count = root->left->count + root->right->count;

return;

}segmenttreenode *build(int start, int end)

root->left = build(root->start,(root->start+root->end)/2);

root->right= build((root->start+root->end)/2+1 , root -> end);

return root;

}};

區間求和II

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

區間求和 II

在類的建構函式中給乙個整數陣列,實現兩個方法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,...

Lintcode 區間求和 I

yes 樣例 挑戰 o logn time for each query 思路 看到區間求和問題,符合線段樹適用連續區間統計或者查詢的問題。所以,考慮構建合適的線段樹來求解。題目型別與區間最小數問題類似。先構建對應的線段樹,然後查詢 vector a一定要加引用,否則,每次呼叫函式都要拷貝容器,很耗...