223. 矩形面积(矩形面积并简单版)
Posted Harris-H
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了223. 矩形面积(矩形面积并简单版)相关的知识,希望对你有一定的参考价值。
223. 矩形面积 (矩形面积并简单版)
两个矩形的面积并,可以用两矩形面积之和减去重叠部分面积。
关键在于求重叠面积,因为重叠部分也是矩形。
考虑分别向 x , y x,y x,y轴投影。
求出两个投影长度,若有一个小于0则重叠面积为0.
否则重叠面积等于: x l e n × y l e n xlen\\times ylen xlen×ylen。
另外此题可以还可以分类讨论以下,先找到靠左的矩形,然后分5种情况讨论即可。
class Solution {
public:
int computeArea(int ax1, int ay1, int ax2, int ay2, int bx1, int by1, int bx2, int by2) {
int lx=max(ax1,bx1),rx=min(ax2,bx2);
int ly=max(ay1,by1),ry=min(ay2,by2);
int tot=(ax2-ax1)*(ay2-ay1)+(bx2-bx1)*(by2-by1);
return tot-max(0,rx-lx)*(max(0,ry-ly));
}
};
以上是关于223. 矩形面积(矩形面积并简单版)的主要内容,如果未能解决你的问题,请参考以下文章