Find a Peak Element II

A peak element in a 2D grid is an element that is strictly greater than all of its adjacent neighbors to the left, right, top, and bottom.

Given a 0-indexed m x n matrix mat where no two adjacent cells are equal, find any peak element mat[i][j] and return the length-2 array [i, j].

You may assume that the entire matrix is surrounded by an outer perimeter with the value -1 in each cell.

You must write an algorithm that runs in O(m log(n)) or O(n log(m)) time.

Example 1
1 4
3 2
Inputmat = [[1,4],[3,2]]
Output[0,1]
Both 3 and 4 are peak elements, so [1,0] and [0,1] are both acceptable answers.
Example 2
10 20 15
21 30 14
 7 16 32
Inputmat = [[10,20,15],[21,30,14],[7,16,32]]
Output[1,1]
Both 30 and 32 are peak elements, so [1,1] and [2,2] are both acceptable answers.

Constraints

  • m == mat.length
  • n == mat[i].length
  • 1 <= m, n <= 500
  • 1 <= mat[i][j] <= 10^5
  • No two adjacent cells are equal.

Asked at 7 companies

</>

Your Solution

(Ctrl/Cmd + Enter)

Switching Language

Loading template...

Loading...

Sign in to save your progress

AI code evaluation

Get a correctness verdict, missed edge cases, and complexity analysis of your solution.

Sign in to evaluate