博客
关于我
【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/

你可能感兴趣的文章
Netty源码—1.服务端启动流程一
查看>>
Netty源码—1.服务端启动流程二
查看>>
Netty源码—2.Reactor线程模型一
查看>>
Netty源码—2.Reactor线程模型二
查看>>
Netty源码—3.Reactor线程模型三
查看>>
Netty源码—4.客户端接入流程一
查看>>
Netty源码—4.客户端接入流程二
查看>>
Netty源码—5.Pipeline和Handler一
查看>>
Netty源码—5.Pipeline和Handler二
查看>>
Netty源码—6.ByteBuf原理一
查看>>
Netty源码—6.ByteBuf原理二
查看>>
Netty源码—7.ByteBuf原理三
查看>>
Netty源码—7.ByteBuf原理四
查看>>
Netty源码—8.编解码原理一
查看>>
Netty源码—8.编解码原理二
查看>>
Netty源码解读
查看>>
netty的HelloWorld演示
查看>>
Netty的Socket编程详解-搭建服务端与客户端并进行数据传输
查看>>
Netty的网络框架差点让我一夜秃头,哭了
查看>>
Netty相关
查看>>