- 浏览: 183431 次
- 性别:
- 来自: 济南
文章分类
最新评论
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.
首先计算出两个长方形的面积,然后计算出它们重叠的面积,最后返回两个面积的差就可以了。代码如下:
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); } }
发表评论
-
498. Diagonal Traverse
2019-11-15 13:52 265Given a matrix of M x N eleme ... -
496 Next Greater Element I
2019-11-14 13:50 267You are given two arrays (witho ... -
Word Break II
2016-03-09 03:15 384Given a string s and a dictiona ... -
Insert Interval
2016-03-08 02:11 374Given a set of non-overlapping ... -
Merge Intervals
2016-03-07 05:25 497Given a collection of intervals ... -
Merge k Sorted Lists
2016-03-07 04:03 563Merge k sorted linked lists and ... -
Multiply Strings
2016-03-06 07:27 475Given two numbers represented a ... -
N-Queens II
2016-03-06 03:06 664Follow up for N-Queens problem. ... -
N-Queens
2016-03-06 02:47 469The n-queens puzzle is the prob ... -
First Missing Positive
2016-03-05 03:09 429Given an unsorted integer array ... -
Spiral Matrix
2016-03-04 03:39 575Given a matrix of m x n element ... -
Trapping Rain Water
2016-03-04 02:54 580Given n non-negative integers r ... -
Repeated DNA Sequences
2016-03-03 03:10 426All DNA is composed of a series ... -
Increasing Triplet Subsequence
2016-03-02 02:48 898Given an unsorted array return ... -
Maximum Product of Word Lengths
2016-03-02 01:56 929Given a string array words, fin ... -
LRU Cache
2016-02-29 10:37 602Design and implement a data str ... -
Super Ugly Number
2016-02-29 07:07 672Write a program to find the nth ... -
Longest Increasing Path in a Matrix
2016-02-29 05:56 842Given an integer matrix, find t ... -
Coin Change
2016-02-29 04:39 782You are given coins of differen ... -
Minimum Height Trees
2016-02-29 04:11 704For a undirected graph with tre ...
相关推荐
java java_leetcode题解之Rectangle Area.java
python python_leetcode题解之223_Rectangle Area.py
<area shape="rect" coords="0,0,100,50" href="rect-link.html" alt="Rectangle Area"> <area shape="circle" coords="150,75,50" href="circle-link.html" alt="Circle Area"> ``` 为了确保跨浏览器兼容性,...
1. 题目要求分析`rectangleArea`和`flagpoleLength`函数的调用可能出现的语义不一致情况。题目中给出的`rectangleArea`用于计算矩形面积,而`flagpoleLength`用于计算旗杆的总高度。在函数`f`中,原本的调用是正确的...
在这个例子中,`rectangleArea` 和 `flagpoleLength` 函数都接受两个整数参数,并返回一个计算结果。然而,这两个函数的语义并不相同。`rectangleArea` 计算矩形面积,而 `flagpoleLength` 计算旗杆的总长度(包括...
std::cout << "Rectangle area: " << rectangleArea(r1, r2) ; return 0; } ``` 在这个例子中,我们定义了一个`Point`结构体来存储点的坐标,并实现了计算两点间距离的辅助函数。然后,我们分别定义了计算三角形...
double rectangleArea(const void* obj) { Rectangle* r = (Rectangle*)obj; return r->width * r->height; } // 创建一个新的圆 Circle* createCircle(double radius) { Circle* circle = (Circle*)malloc...
此题涉及到了两个实体“矩形”和“旗杆”,以及对应的结构体定义和两个函数`rectangleArea`和`flagpoleLength`的定义。题目要求通过修改函数`f`中的代码来展示函数调用可能出现的语法上合法但语义不一致的情况,并...
这里的`Rectangle area`参数表示要截图的区域,可以是整个屏幕,也可以是用户自定义的选择区域。`CopyFromScreen()`方法会将指定的屏幕区域复制到Bitmap对象上。 为了创建一个可以选择截图区域的工具,我们可以使用...
echo "Rectangle area: " . $rectangle->getArea(); ``` 这个习题旨在帮助学习者掌握PHP中的类继承、抽象类以及抽象方法的概念,并能够应用这些知识来解决实际问题。通过这样的练习,程序员可以更好地理解和利用面向...
System.out.println("Rectangle area: " + rectangle.area()); } } ``` 在这个例子中,`Shape` 类是父类,`Circle` 和 `Rectangle` 类是子类。尽管我们使用 `Shape` 类的引用变量来指向 `Circle` 和 `Rectangle` ...
std::cout << "Rectangle area: " << shape2->Area() , perimeter: " << shape2->Perimeter() ; std::cout << "Triangle area: " << shape3->Area() , perimeter: " << shape3->Perimeter() ; delete shape1; ...
System.out.println("Rectangle Area: " + rectangle.getArea()); System.out.println("Rectangle Perimeter: " + rectangle.getPerimeter()); } } ``` 接下来,我们定义一个`MyTime`类来处理时间。这个类需要...
cout << "Rectangle area: " << r.area() ; return 0; } ``` 通过以上示例可以看出,C++面向对象程序设计涵盖了封装、继承和多态等多个重要的概念和技术。掌握这些基础知识对于编写高效、可维护的代码至关重要。...
- `Rectangle area = new Rectangle(0, 0, width, height);`定义一个矩形区域,覆盖整个屏幕。 - `robot = new Robot();`创建Robot实例。 - `BufferedImage capture = robot.createScreenCapture(area);`使用...
创建一个`Robot`实例后,可以调用`createScreenCapture(Rectangle area)`方法来捕获指定区域的屏幕图像。 2. **Rectangle类**:`Rectangle`类用于定义一个矩形区域,它包含了屏幕抓取时需要选择的屏幕部分的坐标和...
在这个小程序中,`createScreenCapture(Rectangle area)`方法是关键,它可以捕获指定矩形区域的屏幕内容。`Rectangle`对象定义了截图的范围,可以是全屏或自定义的部分。 全屏截图可以通过创建一个与显示器尺寸相同...
`:初始化矩形的长度和宽度,并设置其名称为“rectangle”。 - **方法**: - `public void computeArea();`:根据矩形的长度和宽度计算其面积。 - `public void computePerimeter();`:根据矩形的长度和宽度计算其...
System.out.println("长方形的面积是: " + rectangleArea); break; default: System.out.println("无效的选择,请输入1-3之间的数字。"); } scanner.close(); // 关闭输入流 } } ``` 在这个程序中,我们...