本文都是以二维举例的,实际上变成更多维也是差不多的情况啦,只是每个点的状态多了一些而已。
最远曼哈顿距离:
假设有两个点A(xi,yi),B(xj,yj)
则两点之间的曼哈顿距离为 |xi-xj|+|yi-yj|,根据两个点之间的位置关系,可以分为四种情况:(把相同点的坐标放在一起了)
即 (xi+yi)+(-xj-yj), (-xi+yi)+(xj-yj), (xi-yi)+(-xj+yj),(-xi-yi)+(xj+yj)
显然|xi-xj|=max(xi-xj,xj-xi),|yi-yj|=max(yi-yj,yj-yi);
|xi-xj|+|yi-yj|=max(xi-xj,xj-xi)+max(yi-yj,yj-yi)=max((xi-xj)+(yi-yj),(xi-xj)+(yj-yi),(xj-xi)+(yi-yj),(xj-xi)+(yj-yi))
=max( (xi+yi)+(-xj-yj), (-xi+yi)+(xj-yj), (xi-yi)+(-xj+yj),(-xi-yi)+(xj+yj) )
所以两个点之间的曼哈顿距离=max( (xi+yi)+(-xj-yj), (-xi+yi)+(xj-yj), (xi-yi)+(-xj+yj),(-xi-yi)+(xj+yj) ),4种情况取最大的一个就是了。
假设我们现在要求点A(xi,yi)到很多其他点的最远曼哈顿距离,就是max( (xi+yi)+max{-xj-yj},(-xi+yi)+max{xj-yj}, (xi-yi)+max