亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

155. Min Stack / 225. Implement Stack using Queues

2019-11-10 17:35:12
字體:
來源:轉載
供稿:網友

Min Stack題目描述代碼實現Implement Stack using Queues題目描述代碼實現

155. Min Stack

題目描述

Design a stack that supports push, pop, top, and retrieving the minimum element in constant time.

push(x) – Push element x onto stack. pop() – Removes the element on top of the stack. top() – Get the top element. getMin() – Retrieve the minimum element in the stack. Example:

MinStack minStack = new MinStack();minStack.push(-2);minStack.push(0);minStack.push(-3);minStack.getMin(); --> Returns -3.minStack.pop();minStack.top(); --> Returns 0.minStack.getMin(); --> Returns -2.

代碼實現

使用vector來模擬:

class MinStack {public: vector<int> stk; /** initialize your data structure here. */ MinStack() { } void push(int x) { stk.push_back(x); } void pop() { stk.pop_back(); } int top() { return stk.back(); } int getMin() { int min_val = INT_MAX; int s_len = stk.size(); for(int i = 0; i < s_len; i++) { if(stk[i] < min_val) min_val = stk[i]; } return min_val; }};/** * Your MinStack object will be instantiated and called as such: * MinStack obj = new MinStack(); * obj.push(x); * obj.pop(); * int param_3 = obj.top(); * int param_4 = obj.getMin(); */

使用兩個棧來模擬:

class MinStack {PRivate: stack<int> s1; stack<int> s2;public: void push(int x) { s1.push(x); if (s2.empty() || x <= getMin()) s2.push(x); } void pop() { if (s1.top() == getMin()) s2.pop(); s1.pop(); } int top() { return s1.top(); } int getMin() { return s2.top(); }};

225. Implement Stack using Queues

題目描述

Implement the following Operations of a stack using queues.

push(x) – Push element x onto stack.pop() – Removes the element on top of the stack.top() – Get the top element.empty() – Return whether the stack is empty.

Notes:

You must use only standard operations of a queue – which means only push to back, peek/pop from front, size, and is empty operations are valid.Depending on your language, queue may not be supported natively. You may simulate a queue by using a list or deque (double-ended queue), as long as you use only standard operations of a queue.You may assume that all operations are valid (for example, no pop or top operations will be called on an empty stack).

代碼實現

實現方法一:

class MyStack {private: queue<int> q1;public: /** Initialize your data structure here. */ MyStack() { } /** Push element x onto stack. */ void push(int x) { q1.push(x); } /** Removes the element on top of the stack and returns that element. */ int pop() { int len = q1.size(); for(int i = 0; i < len - 1; i++) { int tmp = q1.front(); q1.pop(); q1.push(tmp); } int res = q1.front(); q1.pop(); return res; } /** Get the top element. */ int top() { return q1.back(); } /** Returns whether the stack is empty. */ bool empty() { return !q1.size()?true:false; }};/** * Your MyStack object will be instantiated and called as such: * MyStack obj = new MyStack(); * obj.push(x); * int param_2 = obj.pop(); * int param_3 = obj.top(); * bool param_4 = obj.empty(); */

當然還有另外一種思路,就是使用在push的時候進行排序:

class MyStack {public: queue<int> que; // Push element x onto stack. void push(int x) { que.push(x); for(int i=0;i<que.size()-1;++i){ que.push(que.front()); que.pop(); } } // Removes the element on top of the stack. int pop() { int res = que.front(); que.pop(); return res; } // Get the top element. int top() { return que.front(); } // Return whether the stack is empty. bool empty() { return que.empty(); }};
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲免费影视第一页| 富二代精品短视频| 成人自拍性视频| 欧美激情影音先锋| 激情亚洲一区二区三区四区| 日韩欧美在线视频观看| 欧美精品亚州精品| 日韩h在线观看| 国产精品久久久久久久久久东京| 国产精品九九久久久久久久| 欧美日韩精品在线| 中文字幕视频在线免费欧美日韩综合在线看| 性色av一区二区三区红粉影视| 亚洲黄色成人网| 日韩一级黄色av| 国产精品成人久久久久| 欧美激情视频在线| 欧洲成人免费aa| 亚洲精品二三区| 国产精品电影观看| 久久久久一本一区二区青青蜜月| 亚洲激情中文字幕| 欧美视频第一页| 日韩电影免费观看在线| 久久久久久成人精品| 亚洲国产欧美日韩精品| 亚洲女在线观看| 成人免费xxxxx在线观看| 国产精品视频自拍| 国产一区二区三区免费视频| 亚洲第一中文字幕| 精品国产一区二区三区四区在线观看| 国产精品网站视频| 亚洲品质视频自拍网| 57pao成人永久免费视频| 久久久久五月天| 久久久久久久久电影| 久久亚洲精品成人| 国产成人一区二区三区小说| 国产精品美乳在线观看| 久久精品视频99| 亚洲欧美第一页| 伊人久久男人天堂| 色老头一区二区三区在线观看| 亚洲色图17p| 日韩欧美亚洲成人| 欧美在线视频导航| 性亚洲最疯狂xxxx高清| 亚洲一区二区三区sesese| 久久青草精品视频免费观看| 日韩精品在线视频美女| 亚洲男人的天堂网站| 在线播放国产精品| 国产精品久久久久久五月尺| 日韩av电影在线免费播放| 国产美女主播一区| 久久精品国产一区| 久久精品男人天堂| 国产精品99久久久久久久久| 国产成人自拍视频在线观看| 亚洲第一页中文字幕| 最近2019中文字幕第三页视频| 午夜精品99久久免费| www.欧美精品| 91精品国产九九九久久久亚洲| 国产亚洲日本欧美韩国| 欧美日本中文字幕| 精品久久久一区二区| 欧美极品在线播放| 欧美日韩精品中文字幕| 疯狂做受xxxx高潮欧美日本| 一区二区三区天堂av| 久久视频在线观看免费| 亚洲午夜未删减在线观看| 中文字幕亚洲无线码a| 国产成人精品综合| 国产亚洲一区二区在线| 亚洲永久免费观看| 日韩精品免费在线观看| 久久91亚洲精品中文字幕奶水| 亚洲欧洲免费视频| 国产精品一区二区久久| 最新69国产成人精品视频免费| 伦理中文字幕亚洲| 国产精品入口日韩视频大尺度| 亚洲欧美国产视频| 精品亚洲国产成av人片传媒| 欧美主播福利视频| 日韩毛片在线观看| 国模精品一区二区三区色天香| 久久精品国产精品| 国产精品成人aaaaa网站| 久久偷看各类女兵18女厕嘘嘘| 亚洲国产精品va在看黑人| 久久精品国产成人精品| 国产精品揄拍一区二区| 国产精品久久久久久久久久久新郎| 欧美日韩在线观看视频小说| 亚洲国产精品国自产拍av秋霞| 国产精品视频免费观看www| 亚洲一区二区中文| 青青草99啪国产免费| 国产精品久久久久久久久久小说| 亚洲色图激情小说| 亚洲欧美精品在线| 欧美在线视频在线播放完整版免费观看| 欧美尤物巨大精品爽| 国产精品视频一区二区高潮| 亚洲欧美资源在线| 欧美日韩亚洲视频一区| 国产女精品视频网站免费| 色综合天天狠天天透天天伊人| 美女久久久久久久| 日日骚久久av| 97视频网站入口| 亚洲精品乱码久久久久久按摩观| 中文字幕久热精品在线视频| 尤物九九久久国产精品的分类| 91精品国产高清久久久久久久久| 亚洲欧美日韩高清| 中文字幕日韩精品在线| 在线播放日韩专区| 日韩欧美在线观看视频| 亚洲精品国产综合久久| 久久久久久久一区二区| 日本精品在线视频| xxxxx成人.com| 日韩激情视频在线播放| 久久天天躁狠狠躁夜夜躁2014| 久久久噜噜噜久噜久久| 欧美一级视频在线观看| 91高清在线免费观看| 国产一区二区色| 欧美大全免费观看电视剧大泉洋| 久久艹在线视频| 亚洲淫片在线视频| 久久精品国产免费观看| 日韩精品www| 国产精品普通话| 亚洲精品国产综合久久| 亚洲精品动漫久久久久| 中文字幕国产精品| 在线看片第一页欧美| 国产成人一区二区三区电影| 欧美电影免费观看电视剧大全| 一个人www欧美| 久久伊人色综合| 欧美丰满少妇xxxxx| 亚洲第一精品夜夜躁人人爽| 欧美精品一区在线播放| 国产精品视频26uuu| 欧美日韩精品在线| 亚州国产精品久久久| 亚洲嫩模很污视频| 91九色视频在线| 国产精品一久久香蕉国产线看观看| 国产精品免费在线免费| 5566成人精品视频免费| 久久久精品视频成人| 日韩久久精品成人| 91国产美女视频| 日韩av电影手机在线观看| 精品久久久91| 中文字幕免费精品一区高清|