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;
}