Shawngbk / Leecode

Questions of Leecode
0 stars 0 forks source link

74. Search a 2D Matrix #105

Open Shawngbk opened 7 years ago

Shawngbk commented 7 years ago

public class Solution { public boolean searchMatrix(int[][] matrix, int target) { if(matrix == null || matrix.length == 0) return false; int row = matrix.length; int col = matrix[0].length; int[] temp = null; if(matrix[0][0] > target || matrix[row-1][col-1] < target) return false; for(int i = 0; i < row; i++) { if(matrix[i][col-1] >= target && matrix[i][0] <= target) { temp = matrix[i]; if(binarysearch(temp, target)) { return true; } } } return false; } private boolean binarysearch(int[] temp, int target) { int start = 0; int end = temp.length-1; int mid = 0; while(start <= end) { mid= start + (end-start)/2; if(temp[mid] == target) { return true; } else if(target > temp[mid]) { start = mid + 1; } else { end = mid - 1; } } return false; } }