快乐水题1725. 可以形成最大正方形的矩形数目

Posted 谁吃薄荷糖

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了快乐水题1725. 可以形成最大正方形的矩形数目相关的知识,希望对你有一定的参考价值。

原题:

力扣链接:1725. 可以形成最大正方形的矩形数目

题目简述:

给你一个数组 rectangles ,其中 rectangles[i] = [li, wi] 表示第 i 个矩形的长度为 li 、宽度为 wi 。

如果存在 k 同时满足 k <= li 和 k <= wi ,就可以将第 i 个矩形切成边长为 k 的正方形。例如,矩形 [4,6] 可以切成边长最大为 4 的正方形。

设 maxLen 为可以从矩形数组 rectangles 切分得到的 最大正方形 的边长。

请你统计有多少个矩形能够切出边长为 maxLen 的正方形,并返回矩形 数目 。

解题思路:

1.利用哈希统计所有边长出现的次数;
2.然后找出边长最长的正方形出现的次数;
3.over;

C++代码:

class Solution 
public:
    int countGoodRectangles(vector<vector<int>>& rectangles) 
        unordered_map<int, int> umap; //<边长,个数>

        int n = rectangles.size();

        for(int i = 0; i < n; i++)
        
            ++umap[min(rectangles[i][0],rectangles[i][1])];
        

        int nmaxlan = 0;
        int nret = 0;
        for(auto & x:umap)
        
            cout << " 边长:"<< x.first << "  次数: " << x.second <<endl;

            if(nmaxlan <= x.first)
            
                nmaxlan = x.first;
                nret = x.second;
            
        

        return nret;
    
;

力扣结果展示:

以上是关于快乐水题1725. 可以形成最大正方形的矩形数目的主要内容,如果未能解决你的问题,请参考以下文章

算法leetcode每日一练1725. 可以形成最大正方形的矩形数目

LeetCode1725. 可以形成最大正方形的矩形数目(C++)

算法leetcode每日一练1725. 可以形成最大正方形的矩形数目

力扣 1725 可以形成最大正方形的矩形数目

LeetCode 2000. 反转单词前缀 / 1414. 和为 K 的最少斐波那契数字数目(贪心证明) / 1725. 可以形成最大正方形的矩形数目

「 每日一练,快乐水题 」1252. 奇数值单元格的数目