1. 程式人生 > >9.23 一種訊息接收並列印的結構設計

9.23 一種訊息接收並列印的結構設計

題目】:

  訊息流吐出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

  已知一個訊息流會不斷地吐出整數1~N,但不一定按照順序吐出,如果上次列印的數為i,那麼當i+1出現時,請列印i+1及其之後接收過的並且連續的所有數,直到1~N全部接收並列印完,請設計這種接收並列印的結構

 

要求】:

  訊息流最終會吐出全部的1~N,當然最終也會列印完所有的1~N,要求接收和列印1~N的整個過程,時間複雜度為O(N)

 

題目來源:左程雲老師《程式設計師程式碼面試指南》