博客
关于我
【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工作笔记0013---Channel应用案例4Copy图片
查看>>
Netty工作笔记0014---Buffer类型化和只读
查看>>
Netty工作笔记0020---Selectionkey在NIO体系
查看>>
Vue踩坑笔记 - 关于vue静态资源引入的问题
查看>>
Netty工作笔记0024---SelectionKey API
查看>>
Netty工作笔记0025---SocketChannel API
查看>>
Netty工作笔记0027---NIO 网络编程应用--群聊系统2--服务器编写2
查看>>
Netty工作笔记0050---Netty核心模块1
查看>>
Netty工作笔记0057---Netty群聊系统服务端
查看>>
Netty工作笔记0060---Tcp长连接和短连接_Http长连接和短连接_UDP长连接和短连接
查看>>
Netty工作笔记0063---WebSocket长连接开发2
查看>>
Netty工作笔记0070---Protobuf使用案例Codec使用
查看>>
Netty工作笔记0072---Protobuf内容小结
查看>>
Netty工作笔记0077---handler链调用机制实例4
查看>>
Netty工作笔记0081---编解码器和处理器链梳理
查看>>
Netty工作笔记0084---通过自定义协议解决粘包拆包问题2
查看>>
Netty工作笔记0085---TCP粘包拆包内容梳理
查看>>
Netty常用组件一
查看>>
Netty常见组件二
查看>>
netty底层源码探究:启动流程;EventLoop中的selector、线程、任务队列;监听处理accept、read事件流程;
查看>>