題目描述
已知乙個訊息流會不斷地吐出整數1 \sim n1∼n,但不一定按照順序吐出。如果上次列印的數為i,那麼當i+1出現時,請列印i+1及其之後接收過的並且連續的所有數,直到1 \sim n1∼n全部接收並列印完,請設計這種接收並列印的結構
[要求]
訊息流最終會吐出全部的1 \sim n1∼n,當然最終也會列印完所有的1\sim n1∼n,要求接收和列印1 \sim n1∼n的整個過程,時間複雜度為o(n)o(n)。
輸入描述:
第一行乙個整數n。
接下來一行有n個整數。保證輸入是乙個1到n的排列
輸出描述:
輸出n行,每行兩個數。
為了檢驗輸出的正確性,請在輸出當前列印的數字之後輸出此時最後乙個加入的元素。
具體看輸入輸出樣例
示例1輸入複製9
2 1 4 5 7 3 9 8 6
輸出複製
1 12 1
3 34 3
5 36 6
7 68 6
9 6說明
訊息流吐出2,一種結構接收而不列印2,因為1還沒出現。
訊息流吐出1,一種結構接收1,並且列印:1, 2。
訊息流吐出4,一種結構接收而不列印4,因為3還沒出現。
訊息流吐出5,一種結構接收而不列印5,因為3還沒出現。
訊息流吐出7,一種結構接收而不列印7,因為3還沒出現。
訊息流吐出3,一種結構接收3,並且列印:3, 4, 5。
訊息流吐出9,一種結構接收而不列印9,因為6還沒出現。
訊息流吐出8,一種結構接收而不列印8,因為6還沒出現。
訊息流吐出6,一種結構接收6,並且列印:6, 7, 8, 9。
#include
#include
#include
using
namespace std;
bool a[
100007];
intmain()
min_a=k;}}
return0;
}
系統訊息的一種傳送方式
最近一次,有個需求,需要給3kw的使用者發系統訊息,按照以往的設計是這樣的 後台輸入系統訊息 從使用者系統得到使用者的id 根據使用者id給每個使用者生成乙個儲存訊息的key,進行訊息儲存,更新使用者的未讀訊息數 使用者登入系統,看到未讀訊息數,點選進入閱讀頁面 讀取系統訊息,更新未讀訊息數為0 這...
左神演算法 一種接收訊息並按順序列印的結構設計
題目 一種訊息接收並列印的結構設計 已知乙個訊息流會不斷地吐出整數 1 n,但不一定按照順序吐出。如果上次列印的數為i,那麼當 i 1 出現時,請列印 i 1 及其之後接收過的並且連續的所有數,直到 1 n 全部接收並列印完,請設計這種接收並列印的結構。例如 訊息流吐出 2,一種結構接收而不列印 2...
左偏樹 一種可並堆
在此引用黃前輩的 素材 優先佇列 priority queue 是一種抽象資料型別 adt 它是一種容器,裡面有一些元素,這些元素也稱為佇列中的節點 node 優先佇列的節點至少要包含一種性質 有序性,也就是說任意兩個節點可以比較大小。為了具體起見我們假設這些節點中都包含乙個鍵值 key 節點的大小...