集合棧之程式設計師面試經典

2021-07-11 15:16:38 字數 550 閱讀 3363

請實現一種資料結構setofstacks,由多個棧組成,其中每個棧的大小為size,當前乙個棧填滿時,新建乙個棧。該資料結構應支援與普通棧相同的push和pop操作。

給定乙個操作序列int[2] ope(c++為vector>),每個操作的第乙個數代表操作型別,若為1,則為push操作,後乙個數為應push的數字;若為2,則為pop操作,後乙個數無意義。請返回乙個int(c++為vector>),為完成所有操作後的setofstacks,順序應為從下到上,預設初始的setofstacks為空。保證資料合法。

從題目可以得出a[0]==1的時候表示push壓棧,a[0]==2的時候表示pop出棧,並且a[2]的大小為2;

**如下:

public arraylist> setofstacks(int ope, int size) 

}if(ope[i][0]==2)

//最後進行pop出棧操作

inner.remove(inner.size()-1);}}

return setofstacks;

}

程式設計師面試金典 集合棧

程式設計師面試金典 集合棧 一.題目描述 請實現一種資料結構setofstacks,由多個棧組成,其中每個棧的大小為size,當前乙個棧填滿時,新建乙個棧。該資料結構應支援與普通棧相同的push和pop操作。用vector來模擬。二.題目分析 其實這道題目的題意也不難看懂,主要考察的是對vector...

程式設計師面試經典 20200221

題目 實現一種演算法,找出單向鍊錶中倒數第 k 個節點。返回該節點的值。注意 本題相對原題稍作改動 示例 輸入 1 2 3 4 5 和 k 2 輸出 4思路 雙指標,fast指標與slow指標儲存k個間隔。code public intkthtolast listnode head,int k wh...

程式設計師面試經典 陣列

有一副由nxn矩陣表示的影象,這裡每個畫素用乙個int表示,請編寫乙個演算法,在不占用額外記憶體空間的情況下 即不使用快取矩陣 將影象順時針旋轉90度。給定乙個nxn的矩陣,和矩陣的階數n,請返回旋轉後的nxn矩陣,保證n小於等於500,影象元素小於等於256。測試樣例 1,2,3 4,5,6 7,...