码迷,mamicode.com
首页 > 其他好文 > 详细

Min Stack (LeetCode) tweak it to avoid Memory Limit Exceeded

时间:2014-12-16 16:40:24      阅读:177      评论:0      收藏:0      [点我收藏+]

标签:style   blog   http   color   sp   div   2014   log   ad   

bubuko.com,布布扣

 1 class MinStack {
 2 public:
 3     void push(int x) {
 4         if(values.empty())
 5         {
 6             values.push_back(x);
 7             min_indices.push_back(0);
 8         }
 9         else
10         {
11             if( x < values[min_indices.back()] )
12                 min_indices.push_back(values.size());
13             values.push_back(x);            
14         }
15         
16     }
17 
18     void pop() {        
19         values.pop_back();
20         if(values.size() == min_indices.back())
21             min_indices.pop_back();
22     }
23 
24     int top() {
25         return values.back();
26     }
27 
28     int getMin() {
29         return values[min_indices.back()];
30     }
31 private:
32     deque<int> values;
33     deque<deque<int>::size_type> min_indices;
34 };

using the std::vector will lead to ‘memory limit exceeded’, so i use the deque instead.

Min Stack (LeetCode) tweak it to avoid Memory Limit Exceeded

标签:style   blog   http   color   sp   div   2014   log   ad   

原文地址:http://www.cnblogs.com/welldawn/p/4167248.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!