public class Solution {
/*
* @param matrix: matrix, a list of lists of integers
* @param target: An integer
* @return: a boolean, indicate whether matrix contains target
*/
public boolean searchMatrix(int[][] matrix, int target) {
for(int i=0;i<matrix.length;i++){
System.out.println(i);
if(target<=matrix[i][matrix[0].length-1]){
int downindex=0;
int upindex=matrix[0].length;
while(matrix[i][(upindex+downindex)/2]!=target){
if(upindex-downindex<=1){
return false;
}
else if(matrix[i][(upindex+downindex)/2]>target){
upindex=(upindex+downindex)/2;
}else if(matrix[i][(upindex+downindex)/2]<target){
downindex=(upindex+downindex)/2;
}
}
return true;
}
}
return false;
}
}
/*
* @param matrix: matrix, a list of lists of integers
* @param target: An integer
* @return: a boolean, indicate whether matrix contains target
*/
public boolean searchMatrix(int[][] matrix, int target) {
for(int i=0;i<matrix.length;i++){
System.out.println(i);
if(target<=matrix[i][matrix[0].length-1]){
int downindex=0;
int upindex=matrix[0].length;
while(matrix[i][(upindex+downindex)/2]!=target){
if(upindex-downindex<=1){
return false;
}
else if(matrix[i][(upindex+downindex)/2]>target){
upindex=(upindex+downindex)/2;
}else if(matrix[i][(upindex+downindex)/2]<target){
downindex=(upindex+downindex)/2;
}
}
return true;
}
}
return false;
}
}