多多色-多人伦交性欧美在线观看-多人伦精品一区二区三区视频-多色视频-免费黄色视屏网站-免费黄色在线

國內最全IT社區平臺 聯系我們 | 收藏本站
阿里云優惠2
您當前位置:首頁 > php開源 > 綜合技術 > [置頂] 華為OJ鐵路棧問題(分析+源碼)

[置頂] 華為OJ鐵路棧問題(分析+源碼)

來源:程序員人生   發布時間:2015-05-27 08:29:20 閱讀次數:6538次

題目標題:鐵路棧問題 

鐵路的調度站以下:

火車編號為:1~9,且不重復。

如:編號分別為“1”、“2”、“3”、“4”、“5”的5個火車順序進站,那末進站序列為“12345”,全部進站后再順序出站,則出站序列為“54321”,如果先進1,2,然后2出站,然后1出站,然后再3進站、出站,4進站、出站,5進站、出站,那末出站序列就為21345.

詳細描寫:   

int JudgeTrainSequence (int maxNum, char *pOutSeq);

輸入參數:

    int maxNum:進站的火車最大編號

    char* pOutSeq:使用字符串表示火車出站序列

輸出參數(指針指向的內存區域保證有效):

    無。

返回值:

    Int: 根據輸入的進站序列判斷,如果輸入的出站序列是可能的,返回1,否則返回0;


分析+代碼:

       這個題目已提示是棧的問題,有點數據結構基礎的娃兒就知道這個入棧出棧的操作,關鍵的地方在于對某1個序號n入棧,則如果有小于n的數還沒有出棧,那末它們出棧以后必定是降序排列的。對每個數都是如此,但是對本題太過簡單,最快最暴力的方法就是摹擬棧操作,這也是ACMer知道的經典的數據結構算法,你可以利用STL里已定義好的stack操作,對本題由于入棧從1開始編號,而且是順序的,也就是說入棧序列是不變的,所以用個數組就能夠摹擬它,首先編號1入棧(放入數組每個元素),然后從數組確當前位置開始向前走,順次比較和出棧序列的相應元素是不是相等,直到不相等的時候,放入編號2.....類似,代碼很簡單,容易看懂,時間復雜度是O(n^2),沒時間優化,歡迎回帖交換~

//#include<iostream> //#include<string> //#include<algorithm> //#include<cmath> //#include<vector> //#include<stack> //#include<iomanip> //using namespace std; #include <stdlib.h> #include <string.h> #include <stdio.h> /* 詳細描寫: int JudgeTrainSequence (int maxNum, char *pOutSeq); 輸入參數: int maxNum:進站的火車最大編號 char* pOutSeq:使用字符串表示火車出站序列 輸出參數(指針指向的內存區域保證有效): 無。 返回值: Int: 根據輸入的進站序列判斷,如果輸入的出戰序列是可能的,返回1,否則返回0; */ int JudgeTrainSequence (int maxNum, char *pOutSeq) { if(strlen(pOutSeq)!=maxNum)return 0; char *ss=(char *)malloc(sizeof(char)); int i,j=0,k=0; for(i=1;i<=maxNum;i++) { ss[j]=i+'0'; while(ss[j]==pOutSeq[k] && k<maxNum){ k++; j--; } if(k==maxNum)return 1; j++; } return 0; } int main() { char *ss=NULL; printf("%d ",JudgeTrainSequence (5, "53421")); // cout<<JudgeTrainSequence (5, "53421")<<endl;//12345;34215 return 0; }



生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: www在线视频| 最近中文字幕1视频 | 亚洲第一视频在线 | 精品久久久久久亚洲精品 | 精品一区二区三区无卡乱码 | 亚洲视频精品在线 | 一级久久 | 狼人天堂网 | 欧美激情一区二区三区四区 | 午夜老司机免费视频 | 在线免费视频 | 日韩中文字幕久久精品 | 国产免费一区二区三区在线 | 亚洲三级小视频 | 欧美成人精品福利网站 | 鲁啊鲁阿鲁在线视频播放 | 另类天堂网 | 亚洲免费精品 | 国产精品无码久久久久 | 在线播放亚洲美女视频网站 | 第一福利在线观看永久视频 | www.天堂在线观看 | 亚洲视频在线免费观看 | 中文字幕网站在线观看 | 日本高清www视频在线观看 | 久久久国产精品免费 | 亚洲不卡一区二区三区 | 欧美特级黄色 | 亚洲精品国产自在久久老牛 | 欧美专区日韩专区 | 一区二区三区在线看 | 亚洲校园春色小说 | 日韩高清一区二区三区五区七区 | 日本欧美高清 | 欧美黄色片免费观看 | 红豆视频日本高清 | h视频在线看 | 亚洲www网站 | 日本欧美一级二级三级不卡 | 波多野结衣视频在线播放 | 午夜毛片福利 |