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.pswp.cn/news/390023.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/390023.shtml
英文地址,請注明出處:http://en.pswp.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…

NPM 重新回爐

官方教程傳送門( 英文 ) 本文主要是官方文章的精煉,適合想了解一些常用操作的同學們 NPM 是 基于node的一個包管理工具 , 安裝node環境時會自帶安裝NPM. NPM版本管理 查看現有版本 npm -v 安裝最新的穩定版本 npm install npmlatest -g 安裝最新的測試版本 npm install npmn…

1436. 旅行終點站

1436. 旅行終點站 給你一份旅游線路圖&#xff0c;該線路圖中的旅行線路用數組 paths 表示&#xff0c;其中 paths[i] [cityAi, cityBi] 表示該線路將會從 cityAi 直接前往 cityBi 。請你找出這次旅行的終點站&#xff0c;即沒有任何可以通往其他城市的線路的城市。 題目數據…

如何使用fio模擬線上環境

線上表現 這里我想通過fio來模擬線上的IO場景&#xff0c;那么如何模擬呢&#xff1f; 首先使用iostat看線上某個盤的 使用情況&#xff0c;這里我們需要關注的是 avgrq-sz, avgrq-qz. #iostat -dx 1 1000 /dev/sdk Device: rrqm/s wrqm/s r/s w/s rkB/s …

熊貓數據集_熊貓邁向數據科學的第二部分

熊貓數據集If you haven’t read the first article then it is advised that you go through that before continuing with this article. You can find that article here. So far we have learned how to access data in different ways. Now we will learn how to analyze …

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…

POJ 3608 旋轉卡殼

思路&#xff1a; 旋轉卡殼應用 注意點&邊 邊&邊 點&點 三種情況 //By SiriusRen #include <cmath> #include <cstdio> #include <algorithm> using namespace std; const double eps1e-5; const int N10050; typedef double db; int n,m; str…

405. 數字轉換為十六進制數

405. 數字轉換為十六進制數 給定一個整數&#xff0c;編寫一個算法將這個數轉換為十六進制數。對于負整數&#xff0c;我們通常使用 補碼運算 方法。 注意: 十六進制中所有字母(a-f)都必須是小寫。 十六進制字符串中不能包含多余的前導零。如果要轉化的數為0&#xff0c;那么…

為什么我要重新開始數據科學

I’m feeling stuck.我感覺卡住了。 In my current work and in the content I create (videos and blog posts), I feel like I’ve begun to stall out. Most of the consumers of my content are at the start of their data science journey. The longer I’m in the fiel…

藍牙協議 HFP,HSP,A2DP,A2DP_CT,A2DP_TG,AVRCP,OPP,PBAP,SPP,FTP,TP,DTMF,DUN,SDP

簡介&#xff1a; HSP&#xff08;手機規格&#xff09;– 提供手機&#xff08;移動電話&#xff09;與耳機之間通信所需的基本功能。 HFP&#xff08;免提規格&#xff09;– 在 HSP 的基礎上增加了某些擴展功能&#xff0c;原來只用于從固定車載免提裝置來控制移動電話。 A2…

482. 密鑰格式化

482. 密鑰格式化 有一個密鑰字符串 S &#xff0c;只包含字母&#xff0c;數字以及 ‘-’&#xff08;破折號&#xff09;。其中&#xff0c; N 個 ‘-’ 將字符串分成了 N1 組。 給你一個數字 K&#xff0c;請你重新格式化字符串&#xff0c;使每個分組恰好包含 K 個字符。特…

安裝mariadb、安裝Apache

2019獨角獸企業重金招聘Python工程師標準>>> 安裝mariadb 安裝mariadb的步驟與安裝mysql的一樣 下載二進制源碼包 再用tar 解壓&#xff0c;創建/data/mariadb目錄和用戶 初始化 編譯啟動腳本 啟動 安裝Apache Apache是軟件基金會的名字&#xff0c;軟件的名字叫htt…

數據科學的發展_數據科學的發展與發展

數據科學的發展There’s perhaps nothing that sets the 21st century apart from others more than the concept of data. Every interaction we have with a connected device creates a data record, and beams it back to some data store for tracking and analysis. Inte…

Polling 、Long Polling 和 WebSocket

最近在學習研究WebSocket,了解到Polling 和Long Polling,翻閱了一些博文&#xff0c;根據自己的理解&#xff0c;做個學習筆記 Polling &#xff08;輪詢&#xff09;&#xff1a; 這種方式就是客戶端定時向服務器發送http的Get請求&#xff0c;服務器收到請求后&#xff0c;就…

慣性張量的推理_選擇合適的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;下面來一起看看吧。 前言 數據庫性能對軟件整體性能有著至關重…

通過Ajax方式上傳文件(input file),使用FormData進行Ajax請求

<script type"text/jscript">$(function () {$("#btn_uploadimg").click(function () {var fileObj document.getElementById("FileUpload").files[0]; // js 獲取文件對象if (typeof (fileObj) "undefined" || fileObj.size …

并發插入數據庫會導致失敗嗎_會導致業務失敗的數據分析方法

并發插入數據庫會導致失敗嗎The true value of data depends on business insight.Data analysis is one of the most powerful resources an enterprise has. However, if the tools and processes used are not friendly and widely available to the business users who nee…

434. 字符串中的單詞數

434. 字符串中的單詞數 統計字符串中的單詞個數&#xff0c;這里的單詞指的是連續的不是空格的字符。 請注意&#xff0c;你可以假定字符串里不包括任何不可打印的字符。 示例: 輸入: “Hello, my name is John” 輸出: 5 解釋: 這里的單詞是指連續的不是空格的字符&#x…

zooland 新開源的RPC項目,希望大家在開發的微服務的時候多一種選擇,讓微服務開發簡單,并且容易上手。...

zooland 我叫它動物園地&#xff0c;一個構思很長時間的一個項目。起初只是覺得各種通信框架都封裝的很好了&#xff0c;但是就是差些兼容&#xff0c;防錯&#xff0c;高可用。同時在使用上&#xff0c;不希望有多余的代碼&#xff0c;像普通接口一樣使用就可以了。 基于這些想…