zoukankan      html  css  js  c++  java
  • LeetCode:矩形区域【223】

    LeetCode:矩形区域【223】

    题目描述

    在二维平面上计算出两个由直线构成的矩形重叠后形成的总面积。

    每个矩形由其左下顶点和右上顶点坐标表示,如图所示。

    Rectangle Area

    示例:

    输入: -3, 0, 3, 4, 0, -1, 9, 2 输出: 45

    说明: 假设矩形面积不会超出 int 的范围。

    题目分析

    这道题目应该很简单,但是思路一定清晰,即搞清楚矩形重叠的条件

    Java题解

    public int computeArea(int A, int B, int C, int D, int E, int F, int G, int H) {
            
            int areaOfSqrA = (C-A) * (D-B);
             int areaOfSqrB = (G-E) * (H-F);
            
            int left = Math.max(A, E);
            int right = Math.min(G, C);
            int bottom = Math.max(F, B);
            int top = Math.min(D, H);
            
            //If overlap
            int overlap = 0;
            if(right > left && top > bottom)
                 overlap = (right - left) * (top - bottom);
            
            return areaOfSqrA + areaOfSqrB - overlap;
    }
    

      

  • 相关阅读:
    【SpringBoot】SpringBoot中请求路径问题
    CodeForces
    CodeForces
    7-36 旅游规划 (25 分(Dijkstra)
    CodeForces
    CodeForces
    CodeForces
    CodeForces
    CodeForces
    CodeForces
  • 原文地址:https://www.cnblogs.com/MrSaver/p/9480003.html
Copyright © 2011-2022 走看看