题解 | #包含min函数的栈# | C++
包含min函数的栈
https://www.nowcoder.com/practice/4c776177d2c04c2494f2555c9fcc1e49
#include <algorithm> #include <vector> class Solution { std::vector<int> data_; std::vector<int> min_data_; public: void push(int value) { data_.push_back(value); if (min_data_.empty()) { min_data_.push_back(value); } else { min_data_.push_back(std::min(value, min_data_.back())); } } void pop() { if (!min_data_.empty()) { data_.pop_back(); min_data_.pop_back(); } } int top() { if (data_.empty()) return -1; return data_.back(); } int min() { return min_data_.back(); } };