题解 | #包含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();
}
};
查看6道真题和解析