LeetCode 1725 可以形成最大正方形的矩形数目[排序] HERODING的LeetCode之路
Posted HERODING23
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LeetCode 1725 可以形成最大正方形的矩形数目[排序] HERODING的LeetCode之路相关的知识,希望对你有一定的参考价值。
解题思路:
最简单的方法就是标记一个当前最大的正方形边,然后往后找,相同加1,小了忽略,大了重新计数,代码如下:
class Solution
public:
int countGoodRectangles(vector<vector<int>>& rectangles)
int maxLen = INT_MIN;
int ans = 0;
for(auto& rectangle : rectangles)
int cur = min(rectangle[0], rectangle[1]);
if(cur > maxLen)
ans = 1;
maxLen = cur;
else if(cur == maxLen)
ans ++;
else continue;
return ans;
;
第二种方法就是自定义排序一波,按照最小边排序,把最长的边的连续个数记录下来,代码如下:
bool cmp(const vector<int>& r1, const vector<int>& r2)
return min(r1[0], r1[1]) > min(r2[0], r2[1]);
class Solution
public:
int countGoodRectangles(vector<vector<int>>& rectangles)
int ans = 1;
sort(rectangles.begin(), rectangles.end(), cmp);
int maxLen = min(rectangles[0][0], rectangles[0][1]);
for(int i = 1; i < rectangles.size(); i ++)
if(min(rectangles[i][0], rectangles[i][1]) == maxLen)
ans ++;
else break;
return ans;
;
以上是关于LeetCode 1725 可以形成最大正方形的矩形数目[排序] HERODING的LeetCode之路的主要内容,如果未能解决你的问题,请参考以下文章
LeetCode1725. 可以形成最大正方形的矩形数目(C++)
LeetCode 1725 可以形成最大正方形的矩形数目[排序] HERODING的LeetCode之路
LeetCode 2000. 反转单词前缀 / 1414. 和为 K 的最少斐波那契数字数目(贪心证明) / 1725. 可以形成最大正方形的矩形数目