華為OJ 高階題(一) 鐵路棧問題

2021-07-09 20:44:43 字數 1245 閱讀 6367

說實話,華為oj上的題目分級並不是完全合理,像這道鐵路棧問題,其實就是一道判斷出棧佇列是否可能的資料結構題,最多也就是一道中級題吧,可我居然在高階題分類裡找到它。

鐵路的排程站如下:

火車編號為: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;

#include #include #include #include #include #include using namespace std;

/*詳細描述:

int judgetrainsequence (int maxnum, char *poutseq);

輸入引數:

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

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

輸出引數(指標指向的記憶體區域保證有效):

無。返回值:

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

*/int judgetrainsequence (int maxnum, char *poutseq)

else

}else

}}else

} //遍歷完後,入站火車為空,說明出站佇列可行

if(trainvector.empty())

return 1;

return 0;

}

思路很簡單,如果出棧的元素存在於入站的佇列中但是該元素不是棧頂元素,那麼該出棧佇列不可能存在。

簡單密碼破解 華為OJ題

密碼是我們生活中非常重要的東東,我們的那麼一點不能說的秘密就全靠它了。哇哈哈.接下來淵子要在密碼之上再加一套密碼,雖然簡單但也安全。假設淵子原來乙個bbs上的密碼為zvbo9441987,為了方便記憶,他通過一種演算法把這個密碼變換成yuanzhi1987,這個密碼是他的名字和出生年份,怎麼忘都忘不...

華為OJ中級題 座標移動

開發乙個座標計算工具,a表示向左移動,d表示向右移動,w表示向上移動,s表示向下移動。從 0,0 點開始移動,從輸入字串裡面讀取一些座標,並將最終輸入結果輸出到輸出檔案裡面。輸入 合法座標為a 或者d或者w或者s 數字 兩位以內 座標之間以 分隔。非法座標點需要進行丟棄。如aa10 a1a yad ...

東華oj 高階題第11題

11 abc數字 問題描述 明明的爸爸是一位著名的數學家同時也是一位著名的數學啟蒙老師。他經常出一些簡單而有趣的數學題目來給剛剛接觸數學的小朋友做,培養他們對數學的興趣。一天,明明的爸爸想到了這樣乙個題目。如果有a b c三個1位的正整數,那麼按以下的方法構成2個三位數 第一種方法是a為百位,b為十...