首页 > 代码库 > Min Stack (LeetCode) tweak it to avoid Memory Limit Exceeded
Min Stack (LeetCode) tweak it to avoid Memory Limit Exceeded
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 else10 {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
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。