博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Rectangle Area - LeetCode
阅读量:5255 次
发布时间:2019-06-14

本文共 744 字,大约阅读时间需要 2 分钟。

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.

Rectangle Area

Assume that the total area is never beyond the maximum possible value of int.

思路:问题的关键点是判断是否两个矩形存在覆盖。

若存在覆盖时,必定有:A和E的最大值要小于C和G的最小值;B和F的最大值要小于D和H的最小值。

因此我们有如下代码

1 class Solution {2 public:3     int computeArea(int A, int B, int C, int D, int E, int F, int G, int H) {4         int left = max(A, E), right = max(min(C, G), left);5         int bot = max(B, F), top = max(min(D, H), bot);6         return (C - A) * (D - B) + (G - E) * (H - F)7             - (right - left) * (top - bot);8     }9 };

其中减去的部分就是重叠的面积,当不重叠时该值为0。

转载于:https://www.cnblogs.com/fenshen371/p/4908155.html

你可能感兴趣的文章
P1192-台阶问题
查看>>
一、使用pip安装Python包
查看>>
3.PHP 教程_PHP 语法
查看>>
Duilib扩展《01》— 双击、右键消息扩展
查看>>
利用Fiddler拦截接口请求并篡改数据
查看>>
python习题:unittest参数化-数据从文件或excel中读取
查看>>
在工程中要加入新的错误弹出方法
查看>>
PS 滤镜— — sparkle 效果
查看>>
网站产品设计
查看>>
代理ARP
查看>>
go 学习笔记(4) ---项目结构
查看>>
java中静态代码块的用法 static用法详解
查看>>
Java线程面试题
查看>>
Paper Reading: Relation Networks for Object Detection
查看>>
day22 01 初识面向对象----简单的人狗大战小游戏
查看>>
mybatis源代码分析:深入了解mybatis延迟加载机制
查看>>
Flask三剑客
查看>>
Hibernate-缓存
查看>>
【BZOJ4516】生成魔咒(后缀自动机)
查看>>
提高PHP性能的10条建议
查看>>