1、来源:二维数组中的查找
在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。
2、思路:在这种有序类型的数组中,一个元素左上的元素都是更小的,右下的元素都是更大的。
3、代码:
public boolean Find(int target, int [][] array) {
boolean isExist = false;
int high = array.length;
int weight = array[0].length;
int i = 0, j = 0;
while(i < weight && j < high){
int position_value = array[high - 1 - i][j];
if(position_value == target){
isExist = true;
break;
}else if(position_value > target){
i++;
}else{
j++;
}
}
return isExist;
}