Lintcode 區間最小數

2022-06-22 17:27:11 字數 1199 閱讀 4265

yes樣例

挑戰

每次查詢在o(logn)的時間內完成

思路1:直接呼叫sort函式對查詢區間排序,然後將最小值存入容器;方法簡單,但是時間複雜度高,超時了;

/**

* definition of interval:

* classs interval

*/ class solution

vectortemp;

for(int i=0;i

思路2:構建線段樹,構建方法參考線段樹構造||;

然後利用線段樹的特殊性質進行查詢;

這道題目很經典,包含了線段樹的構造,查詢,一定要會!

/*** definition of interval:

* classs interval

*/ class segmenttreenode22

};class solution

segmenttreenode22* root = new segmenttreenode22(start, end);

if(start != end) else

return root;

} //線段樹查詢

int query(segmenttreenode22* root, int start, int end)

int mid = (root->start + root->end)/2;

if(start>mid)

return query(root->right,start,end);

else if(mid+1>end)

return query(root->left, start, end);

else

return min(query(root->left,start,mid),query(root->right,mid+1,end));

} vectorintervalminnumber(vector&a, vector&queries)

return res;

} };

Lintcode 區間最小數

yes 樣例 挑戰 每次查詢在o logn 的時間內完成 思路1 直接呼叫sort函式對查詢區間排序,然後將最小值存入容器 方法簡單,但是時間複雜度高,超時了 definition of interval classs interval class solution vectortemp for i...

區間最小數

給定乙個整數陣列 下標由 0 到 n 1,其中 n 表示陣列的規模 以及乙個查詢列表。每乙個查詢列表有兩個整數 start,end 對於每個查詢,計算出陣列中從下標 start 到 end 之間的數的最小值,並返回在結果列表中。樣例對於陣列 1,2,7,8,5 查詢 1,2 0,4 2,4 返回 2...

題目 區間最小數

給定乙個整數陣列 下標由 0 到 n 1,其中 n 表示陣列的規模 以及乙個查詢列表。每乙個查詢列表有兩個整數 start,end 對於每個查詢,計算出陣列中從下標 start 到 end 之間的數的最小值,並返回在結果列表中。您在真實的面試中是否遇到過這個題?yes樣例 對於陣列 1,2,7,8,...