LeetCode 223. 矩形面积

   日期:2020-05-14     浏览:89    评论:0    
核心提示:1. 题目在二维平面上计算出两个由直线构成的矩形重叠后形成的总面积。每个矩形由其左下顶点和右上顶点坐标表示,如图所示。示例:输入: -3, 0, 3, 4, 0, -1, 9, 2输出: 45说明: 假设矩形面积不会超出 int 的范围。来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/rectangle-area著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。2. 解题相关题目:LeetCode 836.数据结构与算法

1. 题目

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

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

示例:
输入: -3, 0, 3, 4, 0, -1, 9, 2
输出: 45
说明: 假设矩形面积不会超出 int 的范围。

来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/rectangle-area
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

2. 解题

相关题目:LeetCode 836. 矩形重叠

  • 先按照上面题目836题,判断是否相重叠
  • 然后返回面积,注意int溢出
int溢出例子
0
0
50000
40000
0
0
50000
40000
class Solution {
public:
    int computeArea(int A, int B, int C, int D, int E, int F, int G, int H) {
    	int x1 = max(A,E);
    	int x2 = min(C,G);
    	int y1 = max(B,F);
    	int y2 = min(D,H);
    	if(!(x1 <= x2 && y1 <= y2))//不相交
    		return long(C-A)*(D-B)+long(G-E)*(H-F);
    	return long(C-A)*(D-B)+long(G-E)*(H-F)-long(x2-x1)*(y2-y1);
    }
};

16 ms 5.8 MB

 
打赏
 本文转载自:网络 
所有权利归属于原作者,如文章来源标示错误或侵犯了您的权利请联系微信13520258486
更多>最近资讯中心
更多>最新资讯中心
0相关评论

推荐图文
推荐资讯中心
点击排行
最新信息
新手指南
采购商服务
供应商服务
交易安全
关注我们
手机网站:
新浪微博:
微信关注:

13520258486

周一至周五 9:00-18:00
(其他时间联系在线客服)

24小时在线客服