包含min函数的栈(C++牛客网)

解题思路:

(1)一个vector用来保存value

(2)一个vector用来保存min

class Solution {
	private:
	    vector<int> v,min_v;
	    int m = INT_MAX;
	public:
	    void push(int value) {
		v.push_back(value);
		if (value<m) min_v.push_back(value),m=value;
		else min_v.push_back(m);
	    }
	    void pop() {
		if (v.size()!=0) v.pop_back(),min_v.pop_back();
	    }
	    int top() {
		if (v.size()!=0) return *v.rbegin();
	    }
	    int min() {
		if (v.size()!=0) return *min_v.rbegin();
	    }
};
发布了317 篇原创文章 · 获赞 279 · 访问量 43万+

猜你喜欢

转载自blog.csdn.net/coolsunxu/article/details/105699367