编码测试JavaScript
如果矩形的边都平行于坐标轴,则称其为直线。这样的矩形可以通过指定其左下角和右上角的坐标来描述。编写一个函数:编码测试JavaScript,javascript,php,html,Javascript,Php,Html,如果矩形的边都平行于坐标轴,则称其为直线。这样的矩形可以通过指定其左下角和右上角的坐标来描述。编写一个函数: function solution($K, $L, $M, $N, $P, $Q, $R, $S); 给定表示两个矩形的八个整数(一个具有左下角(K,L)和右上角(M,N),另一个具有左下角(p,Q)和右上角(R,S)),返回矩形总和的面积。如果矩形相交,则其相交区域只应计算一次。函数应该返回−1如果总和的面积超过2147483647 例如,给定整数: K = -4 L =
function solution($K, $L, $M, $N, $P, $Q, $R, $S);
给定表示两个矩形的八个整数(一个具有左下角(K,L)和右上角(M,N),另一个具有左下角(p,Q)和右上角(R,S)),返回矩形总和的面积。如果矩形相交,则其相交区域只应计算一次。函数应该返回−1如果总和的面积超过2147483647
例如,给定整数:
K = -4 L = 1 M = 2 N = 6
P = 0 Q = -1 R = 4 S = 3
函数应该返回42
第一个矩形的面积是30,第二个矩形的面积是16,它们的相交面积是4
假设:
K, L, M, N, P, Q, R and S are integers within the range [−2147483648..2147483647];
K < M;
L < N;
P < R;
Q < S.
函数解(k,l,m,n,p,q,r,s){
垂直面积=面积(k,l,m,n);
var rectTwoArea=面积(p,q,r,s);
var重叠面积=相交面积(k、l、m、n、p、q、r、s);
返回rectOneArea+recttowarea-重叠区域;
}
函数相交区域(k,l,m,n,p,q,r,s){
var xOverlap=数学最小值(m,r)-数学最大值(k,p);
var yOverlap=数学最小值(n,s)-数学最大值(l,q);
返回xOverlap*yoOverlap;
}
功能区(a、b、c、d){
变量宽度=数学绝对值(a-c);
变量高度=数学绝对值(b-d);
返回宽度*高度;
}
log(解决方案(-4,1,2,6,0,-1,4,3))代码>欢迎来到StackOverFlow向我们展示您迄今为止的尝试。。。
expected worst-case time complexity is O(1);
expected worst-case space complexity is O(1).