难度:简单

目录

一、问题描述

二、思路

1、解题思路

三、解题

1、代码实现

2、时间复杂度 and 空间复杂度


一、问题描述

这里直接采用LeetCode上面的描述。

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

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

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

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

下面给出示例:

提示:

  • 1 <= rectangles.length <= 1000
  • rectangles[i].length == 2
  • 1 <= li, wi <= 109
  • li != wi

二、思路

1、解题思路

首先看题目,传入 n 个矩形,让我们寻找可以切割的最大的正方形,并且返回个数。

首先我们要求解,所有矩形中能切割成正方形的最大边长 maxLen ,然后再去寻找矩形两个边长 a 和 b 满足:

  • a >= maxLen
  • b >= maxLen

统计满足要求个矩形的个数即可。

这里我用哈希表存放了所有矩形可切割成正方形的 边长个数,只用一次循环即可,最后直接去哈希表中找到,maxLen 对应的边长,并且返回个数即可。

三、解题

1、代码实现

class Solution {
public:int countGoodRectangles(vector<vector<int>>& rectangles) {int maxLen = 0;unordered_map<int,int> hashTable;for(int i = 0; i < rectangles.size(); i++){int length = rectangles[i][0];int weight = rectangles[i][1];int edge = min(length,weight);hashTable[edge]++;maxLen = max(maxLen,edge);}return hashTable.find(maxLen)->second;}
};

2、时间复杂度 and 空间复杂度

时间复杂度:,n 为传入正方形的个数

空间复杂度:

1725.可以形成最大正方形的矩阵数目相关推荐

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

    原题: 力扣链接:1725. 可以形成最大正方形的矩形数目 题目简述: 给你一个数组 rectangles ,其中 rectangles[i] = [li, wi] 表示第 i 个矩形的长度为 li ...

  2. 1725.可以形成最大正方形的矩形数目

    题目 1725.可以形成最大正方形的矩形数目 题目大意 给你一个数组 rectangles ,其中 rectangles[i] = [li, wi] 表示第 i 个矩形的长度为 li .宽度为 wi ...

  3. leetcode每日一题1725. 可以形成最大正方形的矩形数目 哈希表存储 到 贪心遍历 优化~

  4. LeetCode 996. 正方形数组的数目(回溯+剪枝)

    文章目录 1. 题目 2. 解题 1. 题目 给定一个非负整数数组 A,如果该数组每对相邻元素之和是一个完全平方数,则称这一数组为正方形数组. 返回 A 的正方形排列的数目.两个排列 A1 和 A2 ...

  5. 正方形数组的数目(DAY 81)

    文章目录 1:题目 2:代码实现 1:题目 给定一个非负整数数组 A,如果该数组每对相邻元素之和是一个完全平方数,则称这一数组为正方形数组.返回 A 的正方形排列的数目.两个排列 A1 和 A2 不同 ...

  6. [Swift]LeetCode996. 正方形数组的数目 | Number of Squareful Arrays

    ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ ➤微信公众号:山青咏芝(shanqingyongzhi) ➤博客园地址:山青咏芝(https://www.cnblog ...

  7. 矩形内部的正方形及长方形数目

    这道题涉及的数论知识是获取方形中的正方形和长方形,方法很巧妙 P2241 统计方形(数据加强版) #include<bits/stdc++.h> using namespace std;i ...

  8. leetcode算法题--可以形成最大正方形的矩形数目

    class Solution {public:int countGoodRectangles(vector<vector<int>>& rectangles) {int ...

  9. LeetCode 496. 下一个更大元素 I

    599. 两个列表的最小索引总和 添加链接描述 假设 Andy 和 Doris 想在晚餐时选择一家餐厅,并且他们都有一个表示最喜爱餐厅的列表,每个餐厅的名字用字符串表示. 你需要帮助他们用最少的索引和 ...

最新文章

  1. 新浪微博IPO,曹国伟策略之功
  2. 安装java的rpm_Centos7使用rpm命令安装java
  3. C++访问属性和继承属性浅析
  4. php小结,PHP编程小结
  5. Leaflet中通过leaflet-measure插件实现测距测面效果
  6. python苹果下载软件助手哪个好_Mac上有什么实用的必备软件?
  7. 存储映射I/O(一)
  8. gettype获取类名_在TypeScript中运行时获取对象的类名
  9. 如何判断链表中存在环路
  10. Linux—Ubuntu14.0.5配置JAVA环境
  11. Android对话框的高级设置《一》设置对话框按钮的图像和在内容文本中插入图像
  12. java list增改查_Java编程通过list接口实现数据的增删改查代码示例
  13. transition的合理运用
  14. 一阶广义差分模型_计量经济学习题第5章 自相关性
  15. Python数值分析案例01--------四阶龙格库塔法解抛体运动
  16. 判断是否是正确的EMAIL格式
  17. 网易视频云:分布式一致性
  18. 如何深刻理解IEEE浮点数的表示(IEEE floating-point representation)
  19. 从零双排java之Map
  20. keras教程_Keras教程

热门文章

  1. 如何设计 React 代码结构?
  2. 全民编程时代,程序员该如何保住饭碗?
  3. 不懂物联网,就别怪时代抛弃你!
  4. 罗永浩与锤子手机撇清关系;微软回应「高管传奇」经历;Rust 1.38 稳定版发布 | 极客头条...
  5. 索尼发布新一代 IoT 芯片,万物互联方式将改写?
  6. 37 岁学编程,发现第一个 Bug,创造商业编程语言 | 人物志
  7. 为什么程序员老在改 Bug,就不能一次改好吗?
  8. 优秀程序员写代码一定会用的 11 条经验!
  9. 凉凉了,Eureka 宣布闭源,Spring Cloud 何去何从?
  10. 标榜 AI 的百度又玩区块链,跟风布局“加密猫”?