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)结果 三.其他 一.题目 ...
最新文章
- mysql修复坏表的方法
- ubuntu系统安装FTP
- python 安装scrapy,openssl opensslv.h错误的解决办法
- Windows Presentation Foundation (WPF)中的命令(Commands)简述
- 【转载】async await 的前世今生(Updated)
- [android] 手机卫士设置向导页面
- 比较=、==、===
- php定位符,浅析PHP正则表达式定位字符
- 微服务、容器、DevOps三者之间的关系你清楚吗?
- c#实现ajax通信:向后台发送JSON字符串,接收响应字符串,并转换为对象
- ReactiveCocoa中信号的使用
- Cisco路由重分发配置(引入路由)
- 用计算机运算符编写检索式,检索式
- android 手机屏蔽广告 hosts
- java中使用MD5验证文件的完整性
- SMS发送流程 Android2.2
- Win7 + ubuntu14.04 双系统
- 快搜-谷歌-网址记录
- 大街上数字标志图片_大街上的开放组织
- IE6、IE7、IE8之IE多版本共存的几种方法(转)