美文网首页
22.二维数组中的查找

22.二维数组中的查找

作者: percykuang | 来源:发表于2019-10-30 19:34 被阅读0次

    题目

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

    code

    
    // [1, 2, 3, 4]
    // [6, 7, 8, 9]
    
    // 思路:1、从左下角第一个数开始,
    //      2、如果目标数字比这个数字大,则说明目标数字在这个数字的右边
    //      3、如果目标数字比这个数字小,则说明目标数字在上一层数组里
    //      4、重复上述步骤
    function find(arr, target) {
      if (!arr || arr.length === 0) {
        return false
      }
      if (!arr[0].length) {
        return false
      }
      var cols = arr[0].length - 1
      var maxRow = arr.length - 1
      var minCol = 0
    
      while (maxRow >= 0 && minCol <= cols) {
        var curNum = arr[maxRow][minCol]
        if (curNum === target) {
          return true
        } else if (curNum > target) {
          maxRow--
        } else {
          minCol++
        }
      }
      return false
    }
    

    相关文章

      网友评论

          本文标题:22.二维数组中的查找

          本文链接:https://www.haomeiwen.com/subject/sxsavctx.html