diff --git a/2202/220204-CN.cpp b/2202/220204-CN.cpp new file mode 100644 index 0000000..87fd561 --- /dev/null +++ b/2202/220204-CN.cpp @@ -0,0 +1,23 @@ +#include +#include + +/** + * 1725. Number Of Rectangles That Can Form The Largest Square + * You are given an array rectangles where rectangles[i] = [li, wi] represents the ith rectangle of length li and width wi. + * You can cut the ith rectangle to form a square with a side length of k if both k <= li and k <= wi. For example, if you have a rectangle [4,6], you can cut it to get a square with a side length of at most 4. + * Let maxLen be the side length of the largest square you can obtain from any of the given rectangles. + * Return the number of rectangles that can make a square with a side length of maxLen. + */ + +class Solution { +public: + static int countGoodRectangles(const std::vector>& rectangles) { + auto it = std::max_element(rectangles.begin(), rectangles.end(), [](const std::vector& x, const std::vector& y) { return std::min(x[0], x[1]) < std::min(y[0], y[1]); }); + return std::count_if(rectangles.begin(), rectangles.end(), [&it](const std::vector& x) { return std::min(x[0], x[1]) >= std::min(it->front(), it->back()); }); + } +}; + +int main() { + std::cout << Solution::countGoodRectangles({{5,8},{3,9},{5,12},{16,5}}); + return 0; +} diff --git a/2202/220204.cpp b/2202/220204.cpp index 6897b9d..8939ec5 100644 --- a/2202/220204.cpp +++ b/2202/220204.cpp @@ -2,6 +2,11 @@ #include #include +/** + * 525. Contiguous Array + * Given a binary array nums, return the maximum length of a contiguous subarray with an equal number of 0 and 1. + */ + class Solution { public: static int findMaxLength(const std::vector& nums) { diff --git a/2202/CMakeLists.txt b/2202/CMakeLists.txt index f353726..c749b45 100644 --- a/2202/CMakeLists.txt +++ b/2202/CMakeLists.txt @@ -3,4 +3,4 @@ PROJECT(2202) SET(CMAKE_CXX_STANDARD 23) -ADD_EXECUTABLE(2202 220204.cpp) +ADD_EXECUTABLE(2202 220204-CN.cpp)