【leetcode】74. (Medium)Search a 2D Matrix
阿新 • • 發佈:2018-11-22
解題思路:
先找到在哪一行 再找在哪個位置
提交程式碼:
class Solution {
public boolean searchMatrix(int[][] matrix, int target) {
if(matrix.length==0||matrix[0].length==0) return false;
if(matrix[0][0]>target||matrix[matrix.length-1][matrix[0].length-1]<target)
return false;
int mid,p1= 0,p2=matrix.length-1,p3=0,p4=matrix[0].length-1;
while(p1<=p2) {
mid=(p1+p2)/2;
if(matrix[mid][0]==target) return true;
if(matrix[mid][0]<target) p1=mid+1;
else p2=mid-1;
}
while(p3<=p4) {
mid=(p3+p4)/2;
if(matrix[p2][mid]==target) return true;
if(matrix[p2][mid]<target) p3=mid+1;
else p4=mid-1;
}
return false;
}
}
執行結果: