1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
   | class Solution {     public int[] findPeakGrid(int[][] mat) {         int m = mat.length;         int left = 0, right = m - 1;         while (left < right) {             int i = left + right >> 1;             int j = maxPos(mat[i]);             if (mat[i][j] > mat[i + 1][j]) right = i;             else left = i + 1;         }         return new int[]{left, maxPos(mat[left])};     }
      private int maxPos(int[] nums) {         int p = 0;         for (int i = 0; i < nums.length; ++i) {             if (nums[p] < nums[i]) {                 p = i;             }         }         return p;     } }
  |