223. 矩形面积(JS实现)
1 题目
在二维平面上计算出两个由直线构成的矩形重叠后形成的总面积。
每个矩形由其左下顶点和右上顶点坐标表示,如图所示。
示例:
输入: -3, 0, 3, 4, 0, -1, 9, 2
输出: 45
链接:https://leetcode-cn.com/problems/rectangle-area
2 思路
这道题的思路就是两个矩形的面积相加再减去重叠的部分面积就是答案,于是重点就在于如何计算重叠部分的面积,*后可以总结规律
3代码
/**
 * @param {number} A
 * @param {number} B
 * @param {number} C
 * @param {number} D
 * @param {number} E
 * @param {number} F
 * @param {number} G
 * @param {number} H
 * @return {number}
 */
var computeArea = function(A, B, C, D, E, F, G, H) {
    let area = (C-A) * (D-B) + (G-E) * (H-F);
    let width = (Math.min(C,G) – Math.max(A,E));
    let height = (Math.min(D,H) – Math.max(B,F));
    let stackArea = (width > 0 ? width : 0) * (height > 0 ? height : 0);
    return area – stackArea;
};