time limit: 150ms memory limit: 8000k
對於包含n(1<=n<=100000)個整數的序列,對於序列中的每一元素,在序列中查詢其位置之後第乙個大於它的值,如果找到,輸出所找到的值,否則,輸出-1。
輸入有多組,第一行輸入t(1<=t<=10),表示輸入的組數;
以後是 t 組輸入:每組先輸入n,表示本組序列的元素個數,之後依次輸入本組的n個元素。
輸出有多組,每組之間輸出乙個空行(最後一組之後沒有);
每組輸出按照本序列元素的順序,依次逐行輸出當前元素及其查詢結果,兩者之間以-->間隔。
#include #include #define max 1200000
#define rmax 1200000
struct jian
a[1200000];
typedef struct
sq;int init(sq &s)
int empty(sq &s)
void creat(sq &s,struct jian b)
struct jian choose(sq &s)
void change(sq &s)
int main()
printf("\n");
}}
24 12 20 15 185 20 15 25 30 6
12-->20
20-->-1
15-->18
18-->-1
20-->25
15-->25
25-->30
30-->-1
6-->-1
本題資料量大、限時要求高,須借助棧來完成。
下乙個較大元素
現在我們有乙個int陣列,請你找出陣列中每個元素的下乙個比它大的元素。給定乙個int陣列a及陣列的大小n,請返回乙個int陣列,代表每個元素比他大的下乙個元素,若不存在則為 1。保證陣列中元素均為正整數。測試樣例 11,13,10,5,12,21,3 7返回 13,21,12,12,21,1,1 思...
下乙個較大元素
題目描述 現在我們有乙個int陣列,請你找出陣列中每個元素的下乙個比它大的元素。給定乙個int陣列a及陣列的大小n,請返回乙個int陣列,代表每個元素比他大的下乙個元素,若不存在則為 1。保證陣列中元素均為正整數。測試樣例 11,13,10,5,12,21,3 7 返回 13,21,12,12,21...
CTCI 下乙個較大元素
下乙個較大元素 題目描述 現在我們有乙個int陣列,請你找出陣列中每個元素的下乙個比它大的元素。給定乙個int陣列a及陣列的大小n,請返回乙個int陣列,代表每個元素比他大的下乙個元素,若不存在則為 1。保證陣列中元素均為正整數。測試樣例 11,13,10,5,12,21,3 7返回 13,21,1...