博客
关于我
【Leetcode】223. Rectangle Area
阅读量:194 次
发布时间:2019-02-28

本文共 686 字,大约阅读时间需要 2 分钟。

题目地址:

给定平面直角坐标系里两个矩形,求其边界围成的区域的面积。

算一下overlap的部分即可。如果没有overlap就直接返回两个矩形面积和,否则返回面积和减去overlap的面积。代码如下:

public class Solution {       public int computeArea(int A, int B, int C, int D, int E, int F, int G, int H) {       	// 算一下overlap的部分的上下左右边界坐标        int left = Math.max(A, E), right = Math.min(C, G);        int low = Math.max(B, F), up = Math.min(D, H);                // 求两个矩形的面积和        int sum = (C - A) * (D - B) + (G - E) * (H - F);        // 如果没有overlap,直接返回面积和        if (right <= left || up <= low) {               return sum;        }        // 否则返回面积和减去overlap的面积        int overlap = (right - left) * (up - low);        return sum - overlap;    }}

时空复杂度 O ( 1 ) O(1) O(1)

转载地址:http://azcs.baihongyu.com/

你可能感兴趣的文章
Mysql tinyint(1)与tinyint(4)的区别
查看>>
mysql union orderby 无效
查看>>
mysql where中如何判断不为空
查看>>
mysql workbench6.3.5_MySQL Workbench
查看>>
MySQL Workbench安装教程以及菜单汉化
查看>>
MySQL Xtrabackup 安装、备份、恢复
查看>>
mysql [Err] 1436 - Thread stack overrun: 129464 bytes used of a 286720 byte stack, and 160000 bytes
查看>>
MySQL _ MySQL常用操作
查看>>
MySQL – 导出数据成csv
查看>>
MySQL —— 在CentOS9下安装MySQL
查看>>
mysql 不区分大小写
查看>>
mysql 两列互转
查看>>
MySQL 中开启二进制日志(Binlog)
查看>>
MySQL 中文问题
查看>>
MySQL 中日志的面试题总结
查看>>
mysql 中的all,5分钟了解MySQL5.7中union all用法的黑科技
查看>>
Mysql 中的日期时间字符串查询
查看>>
MySQL 中锁的面试题总结
查看>>
MySQL 中随机抽样:order by rand limit 的替代方案
查看>>
MySQL 为什么需要两阶段提交?
查看>>