def solution(A):
# write your code in Python 3.6
points = []
for row_idx, row in enumerate(A):
row_max = max(row[1:-1])
row_min = min(row[1:-1])
for col_idx, col in enumerate(row[:-1]):
col_max = max(list(zip(*A[1:-1]))[col_idx])
col_min = min(list(zip(*A[1:-1]))[col_idx])
if col == row_max and col == col_min:
points.append((row_idx, col_idx))
if col == row_min and col == col_max:
points.append((row_idx, col_idx))
return len(points)
def solution(A):
n = 0
for i in range(1, len(A) - 1):
for j in range(1, len(A[0]) - 1):
if min(A[i][j], A[i - 1][j], A[i + 1][j]) == A[i][j] and max(A[i][j], A[i][j - 1], A[i][j + 1]) == A[i][j]:
n += 1
elif max(A[i][j], A[i - 1][j], A[i + 1][j]) == A[i][j] and min(A[i][j], A[i][j - 1], A[i][j + 1]) == A[i][j]:
n += 1
elif max(A[i][j-1], A[i][j]) == A[i][j]:
n += 1
return n
def solution(A):
n = 0
for i in range(1, len(A) - 1):
for j in range(1, len(A[0]) - 1):
local_row = [A[i][j - 1], A[i][j], A[i][j + 1]]
local_col = [A[i - 1][j], A[i][j], A[i + 1][j]]
n += (min(local_row) == max(local_col) == A[j][j]) or \
(max(local_row) == min(local_col) == A[j][i])
return n