可能的出棧序列問題

來源:互聯網
上載者:User
可能的出棧序列問題

首先的前提是進棧一定是要按照順序進棧如1、2、3、4的順序,如果第一個出的是4,那麼要依次先進棧1、2、3、4,
然後出棧,這樣的話第一個是4,沒有其他的元素可以再進棧了,所以只能按順序出棧,這樣出棧的順序就是4、3、2、1。
假如出棧的順序是3、4、2、1,你就要先分析出3的情況,只有先將1、2、3入棧,然後將3出棧。然後進棧4,再出棧4、2、1.

再如果出棧的順序是3、2、4、1或3、2、1、4,先將1、2、3入棧,再出棧3、2,如果這個時候是前面的序列,就先進4,再出棧4、1,如果是後面的出棧順序就出1,然後再入棧4,再出棧4,這樣就會得到上面的序列了。

 

可以按照下面的方法來判斷的: 假如入棧順序為1234,給定一個出棧序列,如2431,它是合法的。
因為對於出棧序列中的每一個數字,在它後面的、比它小的所有數字,一定是按遞減順序排列的。


例如: 假如出棧序列為4123,顯然不滿足上述要求,因為對於4,它後面比它小的數字序列為123,遞加,所以不是合法出棧序列。
若出棧為3142,也不合法,因為3後面比它小的1和2不是遞減排列的。
若出棧為1234,則合法,因為對於每一個數字,它後面沒有比它小的數字。
這種方法用來排除那些錯誤的出棧順序很有效。


聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.