diff --git a/cpp/2204/220408.cpp b/cpp/2204/220408.cpp new file mode 100644 index 0000000..0ae6aee --- /dev/null +++ b/cpp/2204/220408.cpp @@ -0,0 +1,21 @@ +#include +#include + +class KthLargest { +private: + int k; + std::priority_queue, std::greater<>> q; +public: + explicit KthLargest(int k_ = 0, const std::vector& nums = {}) : k(k_) { + q = std::priority_queue, std::greater<>>(nums.begin(), nums.end()); + while (q.size() > k) + q.pop(); + } + + int add(int val) { + q.push(val); + if (q.size() > k) + q.pop(); + return q.top(); + } +}; diff --git a/cpp/2204/CMakeLists.txt b/cpp/2204/CMakeLists.txt index f7c2279..ca239ac 100644 --- a/cpp/2204/CMakeLists.txt +++ b/cpp/2204/CMakeLists.txt @@ -3,4 +3,4 @@ PROJECT(2204) SET(CMAKE_CXX_STANDARD 23) -ADD_EXECUTABLE(2204 220408-CN.cpp) +ADD_EXECUTABLE(2204 220408.cpp)