本系列導(dǎo)航:劍指offer(第二版)java實(shí)現(xiàn)導(dǎo)航帖
面試題4:二維數(shù)組中的查找
題目要求:
一個(gè)二維數(shù)組中,每一行從左到右遞增来破,每一列從上到下遞增篮灼。輸入一個(gè)整數(shù),判斷數(shù)組中是否含有該整數(shù)
package chapter2;
/**
* Created by ryder on 2017/6/12.
* 二維數(shù)組徘禁,從左到右遞增诅诱,從上到下遞增,輸入一個(gè)整數(shù)送朱,判斷數(shù)組中是否含有
*/
public class P44_FindInPartiallySortedMatrix {
public static boolean findInPartiallySortedMatrix(int[][] data,int target){
if(data==null ||data.length==0 || data[0].length==0)
return false;
int rowMax = data.length-1,colMax = data[0].length-1;
int rowCur = data.length-1,colCur = 0;
while(true){
if(rowCur<0 | rowCur>rowMax | colCur<0 | colCur>colMax)
return false;
if(data[rowCur][colCur]==target)
return true;
else if(data[rowCur][colCur]>target)
rowCur--;
else
colCur++;
}
}
public static void main(String[] args){
int[][] data = {{1,2,8,9},
{2,4,9,12},
{4,7,10,13},
{6,8,11,15}};
System.out.println(findInPartiallySortedMatrix(data, 10));
System.out.println(findInPartiallySortedMatrix(data, 5));
}
}
運(yùn)行結(jié)果
true
false