
Leetcode No.223 Rectangle Area 判断矩形相交
发布日期:2021-05-07 23:35:03
浏览次数:19
分类:原创文章
本文共 990 字,大约阅读时间需要 3 分钟。
Find the total area covered by two rectilinear rectangles in a 2D plane.
Each rectangle is defined by its bottom left corner and top right corner as shown in the figure.
注:题库和图片转自 www.leetcode.com ,所有权归www.leetcode.com仅供交流学习使用,不得用于商业用途
-----------------------------------------------------------------------------------------------------
解题思路:该题的要点是判断两个矩形是否相交,若相交则减去相交的面积。
假设两个矩形若相交则左下点(X1, Y1) , 右上点(X2, Y2)
一定有以下关系, X1 一定是A,E中最大的值, Y1是B, F中最大的值
X2一定是C, G中最小的值, Y2一定是D,H中最小的值
如果(X1,Y1)在(X2,Y2)的左下方,则两矩形一定相交。因此有解法如下
class Solution {public: int computeArea(int A, int B, int C, int D, int E, int F, int G, int H) { int iArea = (C-A)*(D-B)+(G-E)*(H-F); int X1, X2, Y1, Y2; X1 = (A>E)? A : E; Y1 = (B>F)? B : F; X2 = (C<G)? C : G; Y2 = (D<H)? D : H; if(X1 < X2 && Y1 < Y2) iArea -= (X2 - X1)*(Y2 - Y1); return iArea; }};
输入-2-222-2-222输出
16
发表评论
最新留言
关注你微信了!
[***.104.42.241]2025年04月14日 00时29分12秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
c# 图片带水纹波动
2021-05-09
H5 贪吃蛇源码
2021-05-09
从零开始学安全(十六)● Linux vim命令
2021-05-09
从零开始学安全(三十四)●百度杯 ctf比赛 九月场 sqli
2021-05-09
3389连接痕迹清除
2021-05-09
发生系统错误 6118
2021-05-09
阿里巴巴Json工具-Fastjson教程
2021-05-09
Spring Cloud Gateway - 快速开始
2021-05-09
Spring Security 实战干货:理解AuthenticationManager
2021-05-09
Java对象转JSON时如何动态的增删改查属性
2021-05-09
Python 面向对象进阶
2021-05-09
Linux常用统计命令之wc
2021-05-09
Git安装及使用以及连接GitHub方法详解
2021-05-09
docker容器与虚拟机的区别
2021-05-09
shell脚本里使用echo输出颜色
2021-05-09
Python2跟Python3的区别
2021-05-09
并发编程——IO模型详解
2021-05-09
Java之封装,继承,多态
2021-05-09
wait()与notify()
2021-05-09
使用js打印时去除页眉页脚
2021-05-09