1725.可以形成最大正方形的矩阵数目
难度:简单
目录
一、问题描述
二、思路
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.可以形成最大正方形的矩阵数目相关推荐
- 【快乐水题】1725. 可以形成最大正方形的矩形数目
原题: 力扣链接:1725. 可以形成最大正方形的矩形数目 题目简述: 给你一个数组 rectangles ,其中 rectangles[i] = [li, wi] 表示第 i 个矩形的长度为 li ...
- 1725.可以形成最大正方形的矩形数目
题目 1725.可以形成最大正方形的矩形数目 题目大意 给你一个数组 rectangles ,其中 rectangles[i] = [li, wi] 表示第 i 个矩形的长度为 li .宽度为 wi ...
- leetcode每日一题1725. 可以形成最大正方形的矩形数目 哈希表存储 到 贪心遍历 优化~
- LeetCode 996. 正方形数组的数目(回溯+剪枝)
文章目录 1. 题目 2. 解题 1. 题目 给定一个非负整数数组 A,如果该数组每对相邻元素之和是一个完全平方数,则称这一数组为正方形数组. 返回 A 的正方形排列的数目.两个排列 A1 和 A2 ...
- 正方形数组的数目(DAY 81)
文章目录 1:题目 2:代码实现 1:题目 给定一个非负整数数组 A,如果该数组每对相邻元素之和是一个完全平方数,则称这一数组为正方形数组.返回 A 的正方形排列的数目.两个排列 A1 和 A2 不同 ...
- [Swift]LeetCode996. 正方形数组的数目 | Number of Squareful Arrays
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ ➤微信公众号:山青咏芝(shanqingyongzhi) ➤博客园地址:山青咏芝(https://www.cnblog ...
- 矩形内部的正方形及长方形数目
这道题涉及的数论知识是获取方形中的正方形和长方形,方法很巧妙 P2241 统计方形(数据加强版) #include<bits/stdc++.h> using namespace std;i ...
- leetcode算法题--可以形成最大正方形的矩形数目
class Solution {public:int countGoodRectangles(vector<vector<int>>& rectangles) {int ...
- LeetCode 496. 下一个更大元素 I
599. 两个列表的最小索引总和 添加链接描述 假设 Andy 和 Doris 想在晚餐时选择一家餐厅,并且他们都有一个表示最喜爱餐厅的列表,每个餐厅的名字用字符串表示. 你需要帮助他们用最少的索引和 ...
最新文章
- 新浪微博IPO,曹国伟策略之功
- 安装java的rpm_Centos7使用rpm命令安装java
- C++访问属性和继承属性浅析
- php小结,PHP编程小结
- Leaflet中通过leaflet-measure插件实现测距测面效果
- python苹果下载软件助手哪个好_Mac上有什么实用的必备软件?
- 存储映射I/O(一)
- gettype获取类名_在TypeScript中运行时获取对象的类名
- 如何判断链表中存在环路
- Linux—Ubuntu14.0.5配置JAVA环境
- Android对话框的高级设置《一》设置对话框按钮的图像和在内容文本中插入图像
- java list增改查_Java编程通过list接口实现数据的增删改查代码示例
- transition的合理运用
- 一阶广义差分模型_计量经济学习题第5章 自相关性
- Python数值分析案例01--------四阶龙格库塔法解抛体运动
- 判断是否是正确的EMAIL格式
- 网易视频云:分布式一致性
- 如何深刻理解IEEE浮点数的表示(IEEE floating-point representation)
- 从零双排java之Map
- keras教程_Keras教程
热门文章
- 如何设计 React 代码结构?
- 全民编程时代,程序员该如何保住饭碗?
- 不懂物联网,就别怪时代抛弃你!
- 罗永浩与锤子手机撇清关系;微软回应「高管传奇」经历;Rust 1.38 稳定版发布 | 极客头条...
- 索尼发布新一代 IoT 芯片,万物互联方式将改写?
- 37 岁学编程,发现第一个 Bug,创造商业编程语言 | 人物志
- 为什么程序员老在改 Bug,就不能一次改好吗?
- 优秀程序员写代码一定会用的 11 条经验!
- 凉凉了,Eureka 宣布闭源,Spring Cloud 何去何从?
- 标榜 AI 的百度又玩区块链,跟风布局“加密猫”?