zoukankan      html  css  js  c++  java
  • 力扣 223. 矩形面积

    class Solution {
    public:
        int computeArea(int A, int B, int C, int D, int E, int F, int G, int H) {
            if(B<H&&C>E&&F<D&&G>A) //判断是否有重叠
    
            return (C-A)*(D-B)-min(min(min((H-B),(D-B)),(H-F)),(D-F))*min(min(min((C-A),(G-E)),(C-E)),(G-A))+(G-E)*(H-F);  //有重叠时总面积=面积和-重叠面积,重叠部分的长度等于min((H-B),(D-B),(H-F),(D-F)),宽度等于min((C-A),(G-E)),(C-E)),(G-A))。由于两个矩形的面积和可能数值过大导致溢出,所以要先用一个矩形面积减去重叠部分再加上另一个矩形面积。
    
            else return (C-A)*(D-B)+(G-E)*(H-F); //无重叠返回面积和
        }
    };
  • 相关阅读:
    @bzoj
    @bzoj
    @codeforces
    @codeforces
    @bzoj
    @codeforces
    @codeforces
    @codeforces
    @NOIP2018
    反转字符串--C和Python
  • 原文地址:https://www.cnblogs.com/lau1997/p/15604325.html
Copyright © 2011-2022 走看看