public static int solution(int[][] A) { // write your code in Java SE 8 int countSaddlePoints = 0; for (int P = 1; P < A.length - 1; P++) { for (int Q = 1; Q < A[P].length - 1; Q++) { if ( A[P][Q - 1] > A[P][Q] && A[P][Q] < A[P][Q + 1] && A[P - 1][Q] < A[P][Q] && A[P][Q] > A[P + 1][Q]) { countSaddlePoints++; } else if ( A[P][Q - 1] < A[P][Q] && A[P][Q] > A[P][Q + 1] && A[P - 1][Q] > A[P][Q] && A[P][Q] < A[P + 1][Q]) { countSaddlePoints++; } } } return countSaddlePoints; }