您的位置:首页 > 其它

LeetCode7.3(Search a 2D Matrix)

2015-09-01 22:33 337 查看
Write an efficient algorithm that searches for a value in anmn matrix. is matrix has the following

properties:

• Integers in each row are sorted from left to right.

• The first integer of each row is greater than the last integer of the previous row.

For example, Consider the following matrix:

[

[1, 3, 5, 7],

[10, 11, 16, 20],

[23, 30, 34, 50]

]

Given target = 3, return true.



public static int solution_7_3(int[][] matrix,int target,int m,int n){
int first=0;
int last=m*n-1;
while(first<last){
int mid=(first+last)/2;
if(matrix[mid/n][mid%n]==target)
return mid;
else{
if(matrix[mid/n][mid%n]<target)
first=mid+1;
else
last=mid-1;

}
}
return -1;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: