欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

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

发布时间:2025/3/15 编程问答 37 豆豆
生活随笔 收集整理的这篇文章主要介绍了 【快乐水题】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. 可以形成最大正方形的矩形数目的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。