日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

序列元素IT面试题——判断合法出栈序列

發(fā)布時(shí)間:2023/12/13 编程问答 19 豆豆
生活随笔 收集整理的這篇文章主要介紹了 序列元素IT面试题——判断合法出栈序列 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

本文純屬個(gè)人見解,是對(duì)前面學(xué)習(xí)的總結(jié),如有描述不正確的地方還請(qǐng)高手指正~

????在技巧筆試口試上,我們常常會(huì)碰到這樣一類題型,如給你一個(gè)入棧序列,然后再讓你判斷幾個(gè)序列是否有可能為它的出棧序列,如:

????入棧序列為 1 2 3 4 5,則 1 2 3 4 5可能為它的出棧序列,而 5 4 1 2 3弗成能為它的出棧序列

????對(duì)于n比較小的情況,我們往往可以通過手動(dòng)模擬的方法來判斷,對(duì)于n比較大的時(shí)候,這種方法就顯得效率不佳了。

????下面分析一種通用的方法判斷正當(dāng)出棧序列,時(shí)間復(fù)雜度為O(n)。為了敘說便利,我們不妨設(shè)入棧序列為 1 2 3.......n,并且每一個(gè)元素各不相等。

????事實(shí)上,一個(gè)出棧序列固定的話,那么沒個(gè)數(shù)的出棧順序和時(shí)間都是固定的,則我們可以模擬棧的入棧出棧過程,來判斷是否一個(gè)正當(dāng)?shù)某鰲P蛄小?/span>

????我們首先設(shè)po為目前為止入棧的元素中最大的數(shù),初始化為0,若下一個(gè)出棧元素要大于po的話(設(shè)為x),說明我必須將[po+1,x]中的全部書都入棧,再將x彈出便可(這時(shí)還應(yīng)把po賦值為x)。否則說明下一個(gè)出棧的元素已經(jīng)在棧中,并且肯定是棧頂元素,若棧頂元素與下一個(gè)出棧元素不相等的話,我們可以判斷這不是一個(gè)正當(dāng)出棧序列,否則,若全部的出棧元素都不引起沖突,則說明這是一個(gè)正當(dāng)序列。這里再說一下時(shí)間復(fù)雜度,因?yàn)槲覀冎挥性谙乱粋€(gè)出棧元素大于po時(shí),才將元素壓入棧中,并且我們每一次判斷一個(gè)出棧元素是否發(fā)生沖突時(shí),都會(huì)將棧頂元素彈出,所以每一個(gè)元素都入棧一次,出棧一次,所以時(shí)間復(fù)雜度為O(n)。

每日一道理
燈,帶有一種明亮的光,每當(dāng)深夜來臨,是它陪伴著你,如此默默無聞。它是平凡的,外表華麗與否,那都是一樣的,珍珠點(diǎn)綴,水晶加飾的燈它只能用以裝飾,來滿足人們的虛榮心,比起這,普普通通的日光燈是幸運(yùn)的,因?yàn)樗彰鞯谋拘詻]有改變,如同生活中的一部分人平平凡凡卻實(shí)實(shí)在在。

????算法的具體實(shí)現(xiàn)請(qǐng)看代碼。

????

????代碼如下:

#include <stdio.h> #define maxn 1005 int stack[maxn],top; int out[maxn]; int check(int n) {int po=0;for(int i=1;i<=n;i++){for(int j=po+1;j<=out[i];j++){po=j;stack[top++]=j;}if(stack[--top]!=out[i])return 0;}return 1; } int main() {int n;scanf("%d",&n);//假設(shè)入棧序列為1 2。。。。nfor(int i=1;i<=n;i++){scanf("%d",&out[i]);}if(check(n))printf("Yes\n");elseprintf("No\n");return 0; }

????

文章結(jié)束給大家分享下程序員的一些笑話語錄: 3G普不普及現(xiàn)在已經(jīng)不是看終端了,而是看應(yīng)用,有好的,便宜實(shí)用的應(yīng)用,花1000多買個(gè)能用的智能手機(jī)應(yīng)該不是什么難事。反過來說,你200元拿一個(gè)智能手機(jī),沒有好的應(yīng)用,看個(gè)電影要幾十元,也是沒人用3G。

轉(zhuǎn)載于:https://www.cnblogs.com/xinyuyuanm/archive/2013/05/12/3074810.html

總結(jié)

以上是生活随笔為你收集整理的序列元素IT面试题——判断合法出栈序列的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。