From 2251e072ea3c81d87b9ade53057fc08afa1598da Mon Sep 17 00:00:00 2001 From: Lam Haoyin Date: Thu, 7 Apr 2022 10:22:56 +0800 Subject: [PATCH] add: 220407 [cpp] --- cpp/2204/220407.cpp | 24 ++++++++++++++++++++++++ cpp/2204/CMakeLists.txt | 2 +- 2 files changed, 25 insertions(+), 1 deletion(-) create mode 100644 cpp/2204/220407.cpp diff --git a/cpp/2204/220407.cpp b/cpp/2204/220407.cpp new file mode 100644 index 0000000..eb8eb07 --- /dev/null +++ b/cpp/2204/220407.cpp @@ -0,0 +1,24 @@ +#include +#include +#include + +class Solution { +public: + static int lastStoneWeight(const std::vector& stones) { + std::priority_queue q(stones.begin(), stones.end()); + while (q.size() > 1) { + int x = q.top(); + q.pop(); + x = std::abs(q.top() - x); + q.pop(); + if (x) + q.push(x); + } + return q.empty() ? 0 : q.top(); + } +}; + +int main() { + std::cout << Solution::lastStoneWeight({1, 3}); + return 0; +} diff --git a/cpp/2204/CMakeLists.txt b/cpp/2204/CMakeLists.txt index 866b911..cadb027 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 220407-CN.cpp) +ADD_EXECUTABLE(2204 220407.cpp)