leetcode 223. Rectangle Area | 223. 矩形面积(Java)
题目
https://leetcode.com/problems/rectangle-area/
类似问题:蓝桥杯 BASIC-18 基础练习 矩形面积交
题解
本题的重点在于如何计算重叠部分的面积,即:如何定位重叠部分的左下角、右上角的边界。
1、分类讨论:重叠 vs 不重叠
2、关于如何确定重叠部分左上角、右下角边界
确定重叠部分的边界,也就是分别找到 重叠部分的右上角x、重叠部分的右上角y、重叠部分的左下角x、重叠部分的左下角y 的过程。
在代码中,我们分别将其定义为 topRightX
,topRightY
,bottomLeftX
,bottomLeftY
确定完重叠部分的边界之后,将重叠部分的两条边的长度相乘,就可以得到重叠部分的面积了。
3、代码
class Solution {public int computeArea(int ax1, int ay1, int ax2, int ay2, int bx1, int by1, int bx2, int by2) {int s1 = (ax2 - ax1) * (ay2 - ay1);int s2 = (bx2 - bx1) * (by2 - by1);// 1. 无重叠部分 两矩形面积直接相加if (bx1 >= ax2 || bx2 <= ax1 || by1 >= ay2 || by2 <= ay1) {return s1 + s2;}// 2. 有重叠部分 两矩形面积相加后 减去重叠部分// 2.1 overlap bottom leftint bottomLeftX = Math.max(ax1, bx1);int bottomLeftY = Math.max(ay1, by1);// 2.2 overlap top rightint topRightX = Math.min(ax2, bx2);int topRightY = Math.min(ay2, by2);return s1 + s2 - (topRightX - bottomLeftX) * (topRightY - bottomLeftY);}
}
leetcode 223. Rectangle Area | 223. 矩形面积(Java)相关推荐
- 二维矩阵中的最大矩形面积--java实现
一.原题: 给你一个二维矩阵,权值为False和True,找到一个最大的矩形,使得里面的值全部为True,输出它的面积. 样例: 给你一个矩阵如下: [[1, 1, 0, 0, 1],[0, 1, 0 ...
- XTU Oj 1178 Rectangle 和 1263 矩形面积的并
Description 题目描述 给你两个平行于坐标轴的矩形,请判断两者是不是相交(面积有重合的部分)? 输入 第一行是一个整数K,表示样例数. 每个样例占两行,每行是4个整数,表示一个矩形的对角线点 ...
- leetcode 850. Rectangle Area II | 850. 矩形面积 II(递归分割未重叠矩形)
题目 https://leetcode.com/problems/rectangle-area-ii/ 题解 没有看懂官方答案,评论区有一种解法写的挺通俗的: Clean Recursive Solu ...
- 223. Rectangle Area
题目: Find the total area covered by two rectilinear rectangles in a 2D plane. Each rectangle is defin ...
- Leet Code OJ 223. Rectangle Area [Difficulty: Easy]
题目: Find the total area covered by two rectilinear rectangles in a 2D plane. Each rectangle is defin ...
- LeetCode 850. Rectangle Area II
题目地址: We are given a list of (axis-aligned) rectangles. Each rectangle[i] = [x1, y1, x2, y2] , where ...
- 【LeetCode笔记】85. 最大矩形(Java、单调栈)
文章目录 题目描述 思路 && 代码 二刷 题目描述 其实是84. 柱状图中最大的矩形的兄弟题目,理解成多个84题,对结果取max即可. 思路 && 代码 一行抽象出一 ...
- 【Java】计算矩形面积
题目 一个矩形可以由两个相邻边的长度确定.编写一个类,使之拥有两个表示边长的整数数据,并提供一个有用的矩形计算方法,如计算面积,更新矩形边的长 度,计算两个矩形的组合面积等.提示:需要写出具有下列形式 ...
- LeetCode——223. 矩形面积(Rectangle Area)[中等]——分析及代码(C++)
LeetCode--223. 矩形面积[Rectangle Area][中等]--分析及代码[C++] 一.题目 二.分析及代码 1. 几何计算 (1)思路 (2)代码 (3)结果 三.其他 一.题目 ...
最新文章
- live555学习笔记2-基础类
- Cisco QOS之CBWFQ
- 不可错过!华为终端云服务带来Mate 20系列专属礼包
- Bootstrap系列 -- 23. 图片
- 自定义附加属性在XAML中的表示方法以及绑定的注意事项
- POJ1144 Network 连通性
- 法语语音教学课件下载
- java access数据库连接_Java Access数据库连接
- EFResume - 一个普通的 Swift 简历模板
- 【Java线程池实现原理及其在美团业务中的实践】
- 30行Python代码 刷王者荣耀金币
- 初学python------写一个心理测试
- [HttpServlet] Error occured when handling uri: /cat/s/router
- 使用源码部署CITA(Ubuntu18.0.4 | VMware)
- The following classes could not be found - EditText (Change to android.widget.EditText, Fix Build Pa
- 【行业分析】打破食品行业供应链薄弱环节,建设数字化韧性供应链
- 使用HttpClient下载网页
- 测试透射晶格分析的软件,透射电镜(TEM)电子衍射在晶体结构分析中的应用三...
- 疯狂Java讲义(四)
- 建立强大的verilog编写环境
热门文章
- python输入一组数字存到列表_Python如何使用输入传递多个值并将它们存储在一个列表中(简单版本),python,怎么,input,传入,储存,到...
- Linux闲时自动抢占GPU脚本
- HDU1421 搬寝室
- PostgreSQL学习笔记5之函数和操作符一
- UDT协议实现分析——UDT初始化和销毁
- 用Python实现优先级队列
- Socket之UDP客户端【Python】
- 恕我直言,IDEA的Debug,你可能只用了10%
- Vimeo针对GIF性能和质量的改进
- 深度学习在AEC中的应用探索