zoukankan      html  css  js  c++  java
  • 【剑指offer】01 二维数组中的查找

    题目地址:二维数组中的查找

    题目描述                                   

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

    时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 64M,其他语言128M

    题目示例                                   

    输入:
    7,[[1,2,8,9],[2,4,9,12],[4,7,10,13],[6,8,11,15]]

    返回值:
    true

    解法分析                                   

    本题可理解为target与数组中的值作比较,若相等则返回true,不等则返回false,考虑到效率问题,可以从数列左下角数值开始对比,target大于该数值则向右查找,target小于该数值则向上查找。

    代码                                         

     1 function Find(target, array)
     2 {
     3     const i=array.length;
     4     const j=array[0].length;
     5     var m=i-1;
     6     var n=0;
     7     while(m>=0&&n<=j-1){
     8         if(target>array[m][n]){
     9             n++;
    10         }else if(target<array[m][n]){
    11             m--;
    12         }else return true;
    13     }
    14     return false;
    15 }

    执行结果                                   

  • 相关阅读:
    知识扩充:企业博客、MetaWeblog 和 XMLRPC
    test
    OSCHINA Android 客户端 手机相关软件 开源中国
    Android Maven Plugin
    Sending Content to Other Apps
    android test
    my first android test
    用java程序向wordpress发布文章
    my first android test
    android test
  • 原文地址:https://www.cnblogs.com/sunlinan/p/14171640.html
Copyright © 2011-2022 走看看