博客
关于我
【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 WebSocket客户端
查看>>
netty 主要组件+黏包半包+rpc框架+源码透析
查看>>
Netty 异步任务调度与异步线程池
查看>>
Netty中集成Protobuf实现Java对象数据传递
查看>>
netty之 定长数据流处理数据粘包问题
查看>>
Netty事件注册机制深入解析
查看>>
Netty原理分析及实战(四)-客户端与服务端双向通信
查看>>
Netty和Tomcat的区别已经性能对比
查看>>
Netty学习总结(5)——Netty之TCP粘包/拆包问题的解决之道
查看>>
Netty客户端断线重连实现及问题思考
查看>>
Netty工作笔记0006---NIO的Buffer说明
查看>>
Netty工作笔记0007---NIO的三大核心组件关系
查看>>
Netty工作笔记0011---Channel应用案例2
查看>>
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
查看>>