第二题:public static boolean method(int[] A, int[] B) { int num1 = Math.min(A[0], B[0]); int num2 = Math.max(A[0], B[0]); boolean flag1 = true; boolean flag2 = true; for (int i = 1; i < A.length; i++) { int min = Math.min(A[i], B[i]); int max = Math.max(A[i], B[i]); if (!flag1 && !flag2) { return false; } if (flag1) { // 选小的看看能不能满足,不能就选大的 if (min >= num1) { num1 = min; } else if (max >= num1) { num1 = max; } else { flag1 = false; } } if (flag2) { if (max <= num2) { num2 = max; } else if (min <= num2) { num2 = min; } else { flag2 = false; } } } return flag1 || flag2; }