給定乙個整數陣列(下標由 0 到 n-1,其中 n 表示陣列的規模),以及乙個查詢列表。每乙個查詢列表有兩個整數[start, end]
。 對於每個查詢,計算出陣列中從下標 start 到 end 之間的數的最小值,並返回在結果列表中。
樣例對於陣列[1,2,7,8,5]
, 查詢[(1,2),(0,4),(2,4)]
,返回[2,1,5]
挑戰每次查詢在o(logn)的時間內完成
/**
* definition of interval:
* classs interval
*/class solution
int node[m*4 + 10];
build(node, a, 1, 0, m-1);
for (int i = 0; i < n; i++)
return result;
}private:
void build(int *node, vector&a, int pos, int begin, int end)
else
}int query(int *node, int pos, int begin, int end, int left, int right)
if (begin >= left && end <= right)
p1 = query(node, 2*pos, begin, (begin+end)/2, left, right);
p2 = query(node, 2*pos+1, (begin+end)/2+1, end, left, right);
return min(p1, p2);
}};
題目 區間最小數
給定乙個整數陣列 下標由 0 到 n 1,其中 n 表示陣列的規模 以及乙個查詢列表。每乙個查詢列表有兩個整數 start,end 對於每個查詢,計算出陣列中從下標 start 到 end 之間的數的最小值,並返回在結果列表中。您在真實的面試中是否遇到過這個題?yes樣例 對於陣列 1,2,7,8,...
Lintcode 區間最小數
yes 樣例 挑戰 每次查詢在o logn 的時間內完成 思路1 直接呼叫sort函式對查詢區間排序,然後將最小值存入容器 方法簡單,但是時間複雜度高,超時了 definition of interval classs interval class solution vectortemp for i...
Lintcode 區間最小數
yes樣例 挑戰 每次查詢在o logn 的時間內完成 思路1 直接呼叫sort函式對查詢區間排序,然後將最小值存入容器 方法簡單,但是時間複雜度高,超時了 definition of interval classs interval class solution vectortemp for in...