223. 矩形面积

223. 矩形面积

给你 二维 平面上两个 由直线构成的 矩形,请你计算并返回两个矩形覆盖的总面积。

每个矩形由其 左下 顶点和 右上 顶点坐标表示:

第一个矩形由其左下顶点 (ax1, ay1) 和右上顶点 (ax2, ay2) 定义。
第二个矩形由其左下顶点 (bx1, by1) 和右上顶点 (bx2, by2) 定义。

示例 1:

在这里插入图片描述

输入:ax1 = -3, ay1 = 0, ax2 = 3, ay2 = 4, bx1 = 0, by1 = -1, bx2 = 9, by2 = 2
输出:45
示例 2:

输入:ax1 = -2, ay1 = -2, ax2 = 2, ay2 = 2, bx1 = -2, by1 = -2, bx2 = 2, by2 = 2
输出:16

解题思路

矩形的面积由两种情况产生

  1. 两个矩形不相交
    只需各自计算两个矩形的面积,然后加起来

两个矩形不相交的条件为:by1>=ay2||by2<=ay1||bx1>=ax2||ax1>=bx2

  1. 两个矩形相交
    计算两个矩形重叠的面积,然后再在两个矩形的总面积中减去重叠部分的

重叠部分的面积公式:(Math.min(by2,ay2)-Math.max(by1,ay1))* (Math.min(bx2,ax2)-Math.max(bx1,ax1))

代码

class Solution {public int computeArea(int ax1, int ay1, int ax2, int ay2, int bx1, int by1, int bx2, int by2) {int sum=(ay2-ay1)*(ax2-ax1)+(by2-by1)*(bx2-bx1);if(by1>=ay2||by2<=ay1||bx1>=ax2||ax1>=bx2)return sum;return sum-(Math.min(by2,ay2)-Math.max(by1,ay1))* (Math.min(bx2,ax2)-Math.max(bx1,ax1));}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/390023.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

微观计量经济学_微观经济学与数据科学

微观计量经济学什么是经济学和微观经济学&#xff1f; (What are Economics and Microeconomics?) Economics is a social science concerned with the production, distribution, and consumption of goods and services. It studies how individuals, businesses, governmen…

Python基础综合练习

Pycharm开发环境设置与熟悉。 练习基本输入输出&#xff1a; print(你好,{}..format(name)) print(sys.argv) 库的使用方法&#xff1a; import ... from ... import ... 条件语句&#xff1a; if (abs(pos()))<1: break 循环语句&#xff1a; for i in range(5): while Tru…

安装mariadb、安装Apache

2019独角兽企业重金招聘Python工程师标准>>> 安装mariadb 安装mariadb的步骤与安装mysql的一样 下载二进制源码包 再用tar 解压&#xff0c;创建/data/mariadb目录和用户 初始化 编译启动脚本 启动 安装Apache Apache是软件基金会的名字&#xff0c;软件的名字叫htt…

惯性张量的推理_选择合适的intel工作站处理器进行张量流推理和开发

惯性张量的推理With the increasing number of data scientists using TensorFlow, it might be a good time to discuss which workstation processor to choose from Intel’s lineup. You have several options to choose from:随着使用TensorFlow的数据科学家数量的增加&am…

MongoDB数据库查询性能提高40倍

MongoDB数据库查询性能提高40倍 大家在使用 MongoDB 的时候有没有碰到过性能问题呢&#xff1f;下面这篇文章主要给大家分享了MongoDB数据库查询性能提高40倍的经历&#xff0c;需要的朋友可以参考借鉴&#xff0c;下面来一起看看吧。 前言 数据库性能对软件整体性能有着至关重…

牛客网_Go语言相关练习_选择题(2)

注&#xff1a;题目来源均出自牛客网。 一、选择题 Map&#xff08;集合&#xff09;属于Go的内置类型&#xff0c;不需要引入其它库即可使用。 Go-Map_菜鸟教程 在函数声明中&#xff0c;返回的参数要么都有变量名&#xff0c;要么都没有。 C选项函数声明语法有错误&#xff0…

Java常用的八种排序算法与代码实现

排序问题一直是程序员工作与面试的重点&#xff0c;今天特意整理研究下与大家共勉&#xff01;这里列出8种常见的经典排序&#xff0c;基本涵盖了所有的排序算法。 1.直接插入排序 我们经常会到这样一类排序问题&#xff1a;把新的数据插入到已经排好的数据列中。将第一个数和第…

熊猫ai智能机器人量化_机器学习中的熊猫是什么

熊猫ai智能机器人量化Machine learning is a complex discipline. The implementation of machine learning models is now far much easier than it used to be, this is as a result of Machine learning frameworks such as pandas. Wait!! isnt panda an animal? As I rec…

441. 排列硬币

441. 排列硬币 你总共有 n 枚硬币&#xff0c;并计划将它们按阶梯状排列。对于一个由 k 行组成的阶梯&#xff0c;其第 i 行必须正好有 i 枚硬币。阶梯的最后一行 可能 是不完整的。 给你一个数字 n &#xff0c;计算并返回可形成 完整阶梯行 的总行数。 示例 1&#xff1a;…

调用百度 Echarts 显示重庆市地图

因为 Echarts 官方不再提供地图数据的下载&#xff0c;在这里保存一份&#xff0c;供日后使用&#xff0c;重庆地图数据的 JSON 文件在 CSDN 上下载。 <!DOCTYPE html> <html style"height: 100%"><head><meta charset"utf-8"><…

JEESZ-SSO解决方案

2019独角兽企业重金招聘Python工程师标准>>> 第一节&#xff1a;单点登录简介 第一步&#xff1a;了解单点登录 SSO主要特点是: SSO应用之间使用Web协议(如HTTPS)&#xff0c;并且只有一个登录入口. SSO的体系中有下面三种角色: 1) User(多个) 2) Web应用(多个) 3) …

女朋友天天气我怎么办_关于我的天气很奇怪

女朋友天天气我怎么办带有扭曲的天气应用 (A Weather App with a Twist) Is My Weather Weird?™ is a weather app with a twist — it offers a simple answer to a common question we’ve all asked. To do this we look at how often weather like today’s used to happ…

5895. 获取单值网格的最小操作数

5895. 获取单值网格的最小操作数 给你一支股票价格的数据流。数据流中每一条记录包含一个 时间戳 和该时间点股票对应的 价格 。 不巧的是&#xff0c;由于股票市场内在的波动性&#xff0c;股票价格记录可能不是按时间顺序到来的。某些情况下&#xff0c;有的记录可能是错的…

为什么要用Redis

最近阅读了《Redis开发与运维》&#xff0c;非常不错。这里对书中的知识整理一下&#xff0c;方便自己回顾一下Redis的整个体系&#xff0c;来对相关知识点查漏补缺。我按照五点把书中的内容进行一下整理&#xff1a;为什么要选择Redis&#xff1a;介绍Redis的使用场景与使用Re…

区块链开发公司谈区块链在商业上的应用

对于近期正受科技界和资本市场关注的区块链行业&#xff0c;一句话概括说如果互联网技术解决的是通讯问题的话&#xff0c;区块链技术解决的是信任问题&#xff0c;其在商业领域应用如何呢&#xff1f;我们来从两个方面去进行剖析。 第一方面&#xff0c;区块链技术可以解决基础…

ORACLE1.21 PLSQL 01

-- 有了SQL 为什么还需要PL/SQL -- SQL功能很强大&#xff0c;但如果是单1sql语句&#xff0c;没有流程控制 -- PL/SQL 是什么&#xff1f; --不仅仅实现流程控制&#xff0c;同时保留SQL本身所有的功能 --还提供变量、常量等支持 --提供更多数据类型的支持 --第一&#xff0c;…

云原生数据库_数据标签竞赛云原生地理空间冲刺

云原生数据库STAC specification is getting closer to the ver 1.0 milestone, and as such the first virtual Cloud Native Geospatial Sprint is being organized next week. An outreach day is planned on Sep 8th with a series of talks and tutorials for everyone. R…

Linux 下的 hosts文件

2019独角兽企业重金招聘Python工程师标准>>> hosts 文件 目录在 /etc/hosts netstat -ntlp //linux 下查看端口 转载于:https://my.oschina.net/u/2494575/blog/1923074

DjangoORM字段介绍

转载于:https://www.cnblogs.com/cansun/p/8647371.html

黑客独角兽_双独角兽

黑客独角兽Preface前言 Last week my friend and colleague Srivastan Srivsan’s note on LinkedIn about Mathematics and Data Science opened an excellent discussion. Well, it is not something new; there were debates in the tech domain such as vim v.s emacs to …