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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

lintcode12 带最小值操作的栈

發布時間:2024/7/19 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 lintcode12 带最小值操作的栈 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

實現一個帶有取最小值min方法的棧,min方法將返回當前棧中的最小值。

你實現的棧將支持pushpop?和?min?操作,所有操作要求都在O(1)時間內完成。

建一個棧helpStack,用來存放從開始到目前位置的最小值,

1 /** 2 * lintcode12:帶最小值操作的棧 3 * 狗剩的美麗家園 4 * 2017年12月4日15:33:23 5 */ 6 7 class MinStack { 8 public: 9 stack<int> mainStack; 10 stack<int> helpStack; 11 MinStack() { 12 // do initialization if necessary 13 } 14 15 void push(int number) { 16 // write your code here 17 int top; 18 mainStack.push(number); 19 20 if (!helpStack.empty()) { 21 top = helpStack.top(); 22 } else { 23 top = number; 24 } 25 26 if (number > top) { 27 helpStack.push(top); 28 } else { 29 helpStack.push(number); 30 } 31 } 32 33 int pop() { 34 // write your code here 35 if (!mainStack.empty()) { 36 int data = mainStack.top(); 37 mainStack.pop(); 38 helpStack.pop(); 39 return data; 40 } 41 } 42 43 int min() { 44 // write your code here 45 if (!helpStack.empty()) { 46 int data = helpStack.top(); 47 return data; 48 } 49 } 50 };

?

轉載于:https://www.cnblogs.com/gousheng/p/7977492.html

總結

以上是生活随笔為你收集整理的lintcode12 带最小值操作的栈的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。