From e912950729b789c68d73b332db3003638371f215 Mon Sep 17 00:00:00 2001 From: crupest Date: Wed, 13 May 2020 16:12:01 +0800 Subject: import(solutions): Add problem 155. --- works/solutions/cpp/155.cpp | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 works/solutions/cpp/155.cpp (limited to 'works/solutions/cpp/155.cpp') diff --git a/works/solutions/cpp/155.cpp b/works/solutions/cpp/155.cpp new file mode 100644 index 0000000..48550be --- /dev/null +++ b/works/solutions/cpp/155.cpp @@ -0,0 +1,38 @@ +#include +#include + +class MinStack +{ +public: + /** initialize your data structure here. */ + MinStack() + { + } + + void push(int x) + { + data_.push_back(x); + sorted_data_.insert(x); + } + + void pop() + { + const auto v = data_.back(); + data_.pop_back(); + sorted_data_.erase(sorted_data_.find(v)); + } + + int top() + { + return data_.back(); + } + + int getMin() + { + return *sorted_data_.cbegin(); + } + +private: + std::vector data_; + std::multiset sorted_data_; +}; -- cgit v1.2.3