From 106f049577d95aba22c1b9a7d03326a057ca385c Mon Sep 17 00:00:00 2001 From: vil02 <65706193+vil02@users.noreply.github.com> Date: Fri, 27 Sep 2024 19:35:42 +0200 Subject: [PATCH] style: use `std::transform_reduce` --- dynamic_programming/catalan_numbers.cpp | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/dynamic_programming/catalan_numbers.cpp b/dynamic_programming/catalan_numbers.cpp index b37f43a4e7..c99ea00265 100644 --- a/dynamic_programming/catalan_numbers.cpp +++ b/dynamic_programming/catalan_numbers.cpp @@ -12,6 +12,7 @@ #include /// for assert #include /// for std::uint64_t #include /// for std::size_t +#include /// for std::transform_reduce #include /// for std::vector /** @@ -22,11 +23,9 @@ class catalan_numbers { std::vector known{1, 1}; value_type compute_next() { - value_type res = 0; - for (std::size_t i = 0; i < known.size(); ++i) { - res += known[i] * known[known.size() - i - 1]; - } - return res; + return std::transform_reduce(known.begin(), known.end(), known.rbegin(), + static_cast(), std::plus<>(), + std::multiplies<>()); } void add() { known.push_back(this->compute_next()); }