class Solution {
public:
int computeArea(int ax1, int ay1, int ax2, int ay2, int bx1, int by1, int bx2, int by2) {
int area1 = abs(ax1 - ax2) * abs(ay1 - ay2), area2 = abs(bx1 - bx2) * abs(by1 - by2);
//相当于都取绝对值小的那个
int width = min(ax2, bx2) - max(ax1, bx1), height = min(ay2, by2) - max(ay1,by1);
//不包含的话width和height至少有1个为负数
int area3 = max(width, 0) * max(height, 0);
return area1 + area2 - area3;
}
};
Accepted
3080/3080 cases passed (4 ms)
Your runtime beats 89.86 % of cpp submissions
Your memory usage beats 90.72 % of cpp submissions (5.7 MB)