/**
* Definition of SegmentTreeNode:
* class SegmentTreeNode {
* public:
* int start, end, max;
* SegmentTreeNode *left, *right;
* SegmentTreeNode(int start, int end, int max) {
* this->start = start;
* this->end = end;
* this->max = max;
* this->left = this->right = NULL;
* }
* }
*/
#define INF 0x7fffffff
class Solution {
public:
/**
*@param root, start, end: The root of segment tree and
* an segment / interval
*@return: The maximum number in the interval [start, end]
*/
int query(SegmentTreeNode *root, int start, int end) {
// write your code here
if(NULL == root) return -INF;
if(root->start > end || root->end < start || start > end) {
return -INF;
}
if(root->start >= start && root->end <= end) return root->max;
int mid = (root->end + root->start)/2;
int leftmax = query(root->left, start, min(mid, end));
int rightmax = query(root->right, max(mid, start), end);
return max(leftmax, rightmax);
}
};
lintcode-線段樹查詢I
最后編輯于 :
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。
- 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事?!?“怎么了?”我有些...
- 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
- 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
- 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
- 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
推薦閱讀更多精彩內容
- 線段樹(又稱區(qū)間樹), 是一種高級數據結構,他可以支持這樣的一些操作: 查找給定的點包含在了哪些區(qū)間內 查找給定的...
- 2014年09月23日 9695 愿你縱深一躍,不懼深淵。愿風暴降臨,你岸堤永固。愿人群聲嘶力竭,呼喊你名。愿眾人...
- 本篇文章是繼續(xù)上篇android圖片壓縮上傳系列-基礎篇文章的續(xù)篇。主要目的是:通過Service來執(zhí)行圖片壓縮任...