`

Rectangle Area

阅读更多
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.
Assume that the total area is never beyond the maximum possible value of int.

首先计算出两个长方形的面积,然后计算出它们重叠的面积,最后返回两个面积的差就可以了。代码如下:
public class Solution {
    public int computeArea(int A, int B, int C, int D, int E, int F, int G, int H) {
        int area1 = (C - A) * (D - B);
        int area2 = (G - E) * (H - F);
        return area1 + area2 - (int)getOverlap(A, B, C, D, E, F, G, H);
    }
    public int getOverlap(int A, int B, int C, int D, int E, int F, int G, int H) {
        long w1 = Math.max(A, E);
        long w2 = Math.min(C, G);
        long w = w2 - w1;
        
        long h1 = Math.min(D, H);
        long h2 = Math.max(B, F);
        long h = h1 - h2;
        
        if(w <= 0 || h <= 0) return 0;
        return (int) (w * h);
    }
}
分享到:
评论

相关推荐

    java-leetcode题解之Rectangle Area.java

    java java_leetcode题解之Rectangle Area.java

    python-leetcode题解之223-Rectangle Area.py

    python python_leetcode题解之223_Rectangle Area.py

    html中map热点area的使用全部代码和效果,兼容所有浏览器

    &lt;area shape="rect" coords="0,0,100,50" href="rect-link.html" alt="Rectangle Area"&gt; &lt;area shape="circle" coords="150,75,50" href="circle-link.html" alt="Circle Area"&gt; ``` 为了确保跨浏览器兼容性,...

    2-C++期末考试试题及答案.pdf

    1. 题目要求分析`rectangleArea`和`flagpoleLength`函数的调用可能出现的语义不一致情况。题目中给出的`rectangleArea`用于计算矩形面积,而`flagpoleLength`用于计算旗杆的总高度。在函数`f`中,原本的调用是正确的...

    面向对象技术2

    在这个例子中,`rectangleArea` 和 `flagpoleLength` 函数都接受两个整数参数,并返回一个计算结果。然而,这两个函数的语义并不相同。`rectangleArea` 计算矩形面积,而 `flagpoleLength` 计算旗杆的总长度(包括...

    c++三个例子(进制转换,多边形面积等)

    std::cout &lt;&lt; "Rectangle area: " &lt;&lt; rectangleArea(r1, r2) ; return 0; } ``` 在这个例子中,我们定义了一个`Point`结构体来存储点的坐标,并实现了计算两点间距离的辅助函数。然后,我们分别定义了计算三角形...

    C语言的面向对象编程

    double rectangleArea(const void* obj) { Rectangle* r = (Rectangle*)obj; return r-&gt;width * r-&gt;height; } // 创建一个新的圆 Circle* createCircle(double radius) { Circle* circle = (Circle*)malloc...

    C++期末考试试题及答案

    此题涉及到了两个实体“矩形”和“旗杆”,以及对应的结构体定义和两个函数`rectangleArea`和`flagpoleLength`的定义。题目要求通过修改函数`f`中的代码来展示函数调用可能出现的语法上合法但语义不一致的情况,并...

    [C#]截图程序源码

    这里的`Rectangle area`参数表示要截图的区域,可以是整个屏幕,也可以是用户自定义的选择区域。`CopyFromScreen()`方法会将指定的屏幕区域复制到Bitmap对象上。 为了创建一个可以选择截图区域的工具,我们可以使用...

    PHP程序设计-3期(KC016) 3.8.2 类的继承课后习题.doc

    echo "Rectangle area: " . $rectangle-&gt;getArea(); ``` 这个习题旨在帮助学习者掌握PHP中的类继承、抽象类以及抽象方法的概念,并能够应用这些知识来解决实际问题。通过这样的练习,程序员可以更好地理解和利用面向...

    java多态性详解——父类引用子类对象

    System.out.println("Rectangle area: " + rectangle.area()); } } ``` 在这个例子中,`Shape` 类是父类,`Circle` 和 `Rectangle` 类是子类。尽管我们使用 `Shape` 类的引用变量来指向 `Circle` 和 `Rectangle` ...

    C++面对对象程序设计求各种形状的面积周长

    std::cout &lt;&lt; "Rectangle area: " &lt;&lt; shape2-&gt;Area() , perimeter: " &lt;&lt; shape2-&gt;Perimeter() ; std::cout &lt;&lt; "Triangle area: " &lt;&lt; shape3-&gt;Area() , perimeter: " &lt;&lt; shape3-&gt;Perimeter() ; delete shape1; ...

    面向对象程序设计:JavaSE-任务41

    System.out.println("Rectangle Area: " + rectangle.getArea()); System.out.println("Rectangle Perimeter: " + rectangle.getPerimeter()); } } ``` 接下来,我们定义一个`MyTime`类来处理时间。这个类需要...

    (完整版)c++面向对象程序设计试题和答案 (2).docx

    cout &lt;&lt; "Rectangle area: " &lt;&lt; r.area() ; return 0; } ``` 通过以上示例可以看出,C++面向对象程序设计涵盖了封装、继承和多态等多个重要的概念和技术。掌握这些基础知识对于编写高效、可维护的代码至关重要。...

    java程序~~截屏

    - `Rectangle area = new Rectangle(0, 0, width, height);`定义一个矩形区域,覆盖整个屏幕。 - `robot = new Robot();`创建Robot实例。 - `BufferedImage capture = robot.createScreenCapture(area);`使用...

    新建 Microsoft Word 文档1.rar_VCC_java 抓屏方法

    创建一个`Robot`实例后,可以调用`createScreenCapture(Rectangle area)`方法来捕获指定区域的屏幕图像。 2. **Rectangle类**:`Rectangle`类用于定义一个矩形区域,它包含了屏幕抓取时需要选择的屏幕部分的坐标和...

    java截屏小程序

    在这个小程序中,`createScreenCapture(Rectangle area)`方法是关键,它可以捕获指定矩形区域的屏幕内容。`Rectangle`对象定义了截图的范围,可以是全屏或自定义的部分。 全屏截图可以通过创建一个与显示器尺寸相同...

    Java程序计算面积

    `:初始化矩形的长度和宽度,并设置其名称为“rectangle”。 - **方法**: - `public void computeArea();`:根据矩形的长度和宽度计算其面积。 - `public void computePerimeter();`:根据矩形的长度和宽度计算其...

    Java计算三角形、正方形、长方形面积代码

    System.out.println("长方形的面积是: " + rectangleArea); break; default: System.out.println("无效的选择,请输入1-3之间的数字。"); } scanner.close(); // 关闭输入流 } } ``` 在这个程序中,我们...

Global site tag (gtag.js) - Google Analytics