0
点赞
收藏
分享

微信扫一扫

LeetCode 223 223. Rectangle Area

郝春妮 2022-10-18 阅读 83

​​题目​​

计算矩形覆盖面积

class Solution {
public:
int computeArea(int A, int B, int C, int D, int E, int F, int G, int H) {

int a =0;
if(E<C&&G>A)
{
if(G>=C&&E>=A)
{

if(H>=D&&F<=B)
{
a = (C-E)*(D-B);
}
else if(H>B&&H<D&&F<=B)
{
a = (C-E)*(H-B);
}
else if(H>=D&&F>B&&F<D)
{
a = (C-E)*(D-F);
}
else if(H<D&&F>B)
{
a = (C-E)*(H-F);
}

}

if(G<C&&E>=A)
{

if(H>=D&&F<=B)
{
a = (G-E)*(D-B);
}
else if(H>B&&H<D&&F<=B)
{
a = (G-E)*(H-B);
}
else if(H>=D&&F>B&&F<D)
{
a = (G-E)*(D-F);
}
else if(H<D&&F>B)
{
a = (G-E)*(H-F);
}
}

if(E<A&&G<C)
{
if(H>=D&&F<=B)
{
a = (G-A)*(D-B);
}
else if(H>B&&H<D&&F<=B)
{
a = (G-A)*(H-B);
}
else if(H>=D&&F>B&&F<D)
{
a = (G-A)*(D-F);
}
else if(H<D&&F>B)
{
a = (G-A)*(H-F);
}
}

if(E<A&&G>=C)
{
if(H>=D&&F<=B)
{
a = (C-A)*(D-B);
}
else if(H>B&&H<D&&F<=B)
{
a = (C-A)*(H-B);
}
else if(H>=D&&F>B&&F<D)
{
a = (C-A)*(D-F);
}
else if(H<D&&F>B)
{
a = (C-A)*(H-F);
}
}
}

return (C-A)*(D-B)-a+(G-E)*(H-F);

}
};



举报

相关推荐

0 条评论