二维数组对角线判断
对于两个点(x1, y1)和(x2, y2)。如何判断二者是否在同一条正对角线,反对角线,或者正或反对角线上?
正对角线判断
x2-x1 = y2 -y1
证明:任意一点(x1+k, y1+k),(k为整数)与(x1, y1)在同一条正对角线上。
x2=x1+k, y2=y1+k
故 k= x2-x1 = y2-y1
反对角线判断
x2-x1 = y1 -y2 = - (y2 -y1)
证明:任意一点(x1-k, y1+k),(k为整数)与(x1, y1)在同一条正对角线上。
x2=x1-k, y2=y1+k
故 - k= x2-x1 = y1-y2
正或反对角线判断
abs(x2-x1)=abs( y2 -y1);
x2-x1 = y2 -y1 || x2-x1 = -( y2 -y1) 即 x2-x1=±(y2-y1)即 abs(x2-x1)=abs( y2 -y1);