由于每一行都有序,后一行起始大于前一行最后的元素。 所以我们遍历每一行的末尾和target比较,当大于target时在这一行寻找target即可。 要时刻注意终止循环的条件。
public class Solution {
public boolean searchMatrix(int[][] matrix, int target) {
int m = matrix.length;
if( m==0 )
{
return false;
}
int n = matrix[0].length;
int j=n-1;
int i=0;
while(i<m)
{
if( matrix[i][j]==target )
{
return true;
}
else if( matrix[i][j]<target )
{
if( j!=n-1)
{
return false;
}
else
{
i++;
}
}
else
{
j--;
if( j<0 )
{
return false;
}
}
}
return false;
}
}
本文介绍了一种在有序二维矩阵中查找目标值的有效算法。通过遍历矩阵每行末尾元素与目标值进行对比,逐步缩小查找范围,最终定位目标位置。文章提供了完整的Java实现代码。
510

被折叠的 条评论
为什么被折叠?



