参考排名第一的代码,简单粗暴。
public static boolean check(int[][] a, int xl, int xr, int yl, int yr, int zl, int zr) {
int[] v = new int[a.length];
int minx = Integer.MAX_VALUE, maxx = Integer.MIN_VALUE;
int miny = Integer.MAX_VALUE, maxy = Integer.MIN_VALUE;
int minz = Integer.MAX_VALUE, maxz = Integer.MIN_VALUE;
for (int n = 0; n < a.length; n++) {
if (a[n][0] - a[n][3] >= xl && a[n][0] + a[n][3] <= xr &&
a[n][1] - a[n][3] >= yl && a[n][1] + a[n][3] <= yr &&
a[n][2] - a[n][3] >= zl && a[n][2] + a[n][3] <= zr
) {
v[n] = 1;
} else {
minx = Math.min(minx, a[n][0] - a[n][3]);
maxx = Math.max(maxx, a[n][0] +