博客
关于我
【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工作笔记0033---Netty概述
查看>>
Netty工作笔记0034---Netty架构设计--线程模型
查看>>
Netty工作笔记0035---Reactor模式图剖析
查看>>
Netty工作笔记0036---单Reactor单线程模式
查看>>
Netty工作笔记0037---主从Reactor多线程
查看>>
Netty工作笔记0038---Netty模型--通俗版
查看>>
Netty工作笔记0039---Netty模型--详细版
查看>>
Netty工作笔记0040---Netty入门--服务端1
查看>>
Netty工作笔记0041---Netty入门--服务端2
查看>>
Netty工作笔记0042---Netty入门--编写客户端
查看>>
Netty工作笔记0043---单Reactor多线程模式
查看>>
Netty工作笔记0044---Netty案例源码分析
查看>>
Netty工作笔记0044---scheduledTaskQueue
查看>>
Netty工作笔记0045---Netty模型梳理
查看>>
Netty工作笔记0045---异步模型原理剖析
查看>>
Netty工作笔记0046---TaskQueue自定义任务
查看>>
Netty工作笔记0046---异步模型原理剖析
查看>>
Netty工作笔记0047---Http服务程序实例
查看>>
Netty工作笔记0048---Http服务过滤资源
查看>>
Netty工作笔记0049---阶段内容梳理
查看>>