二维数组中的查找

题目:在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。

思路:

  • 矩阵是有序的,从左下角来看,向上数字递减,向右数字递增,
  • 因此从左下角开始查找,当要查找数字比左下角数字大时。右移
  • 要查找数字比左下角数字小时,上移
public class Solution {
  public boolean Find(int [][] array,int target) {
    int len = array.length-1;
    int i = 0;
    while((len >= 0)&& (i < array[0].length)){
      if(array[len][i] > target){
        len--;
      }else if(array[len][i] < target){
        i++;
      }else{
        return true;
      }
    }
    return false;
  }
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容