/*
像是一道数据分析题
思路就是两个矩形面积之和减去叠加面积之和
*/
public int computeArea(int A, int B, int C, int D, int E, int F, int G, int H) {
//求两个面积
int a1 = (C-A)*(D-B);
int a2 = (G-E)*(H-F);
//求叠加面积,(低上限-高下限)*(左右线-右左线)
int h1 = Math.min(D,H);
int h2 = Math.max(B,F);
int w1 = Math.min(C,G);
int w2 = Math.max(E,A);
//这里要考虑到没有相交的情况
//同时这里不能比较h1-h2和0的大小,因为如果负数太大会溢出,比0大
int o = (h1<=h2||w1<=w2)?0:(h1-h2)*(w1-w2);
return a1+a2-o;
}
相关文章
- 03-19[LeetCode]223. Rectangle Area矩形面积
- 03-19Leetcode练习(Python):数组类:第84题:给定 n 个非负整数,用来表示柱状图中各个柱子的高度。每个柱子彼此相邻,且宽度为 1 。 求在该柱状图中,能够勾勒出来的矩形的最大面积。
- 03-19[LeetCode] 矩形面积
- 03-19LeetCode | 0836. Rectangle Overlap矩形重叠【Python】
- 03-19LeetCode-223 Rectangle Area
- 03-19#Leetcode# 223. Rectangle Area
- 03-19#Leetcode# 223. Rectangle Area
- 03-19Leetcode 223. 矩形面积
- 03-19[LeetCode] 223. Rectangle Area
- 03-19Leetcode 0223: Rectangle Area