Leetcode練習(Python):數學類:第223題:矩形面積:在二維平面上計算出兩個由直線構成的矩形重疊后形成的總面積。 每個矩形由其左下頂點和右上頂點坐標表示,如圖所示。


題目:
矩形面積:在二維平面上計算出兩個由直線構成的矩形重疊后形成的總面積。  每個矩形由其左下頂點和右上頂點坐標表示,如圖所示。

 

說明: 假設矩形面積不會超出 int 的范圍。

思路:
中學應用題,按照思路就可以求解了。
程序:
class Solution:
    def computeArea(self, A: int, B: int, C: int, D: int, E: int, F: int, G: int, H: int) -> int:
        area_origin = abs(C - A) * abs(D - B) + abs(G - E) * abs(H - F)
        if C <= E or G <= A or D <= F or H <= B:
            return area_origin
        else:
            repeatedArea_x = min(C, G) - max(A, E)
            repeatedArea_y = min(D, H) - max(B, F)
            area = area_origin - abs(repeatedArea_x) * abs(repeatedArea_y)
            return area


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM