zoukankan      html  css  js  c++  java
  • 二维数组中的查找

    题目描述

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

    示例

    输入

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

    输出

    True

    算法思想

      设 i ,j 分别表示二维数组的行下标和列下标。

      (1)当array[0][j] > target的时候,第 j 列一定全部大于 target,以此类推array[i][j];

      (2)在条件(1)的前提下,当array[i][j] < target 的时候,第 i 行中下标为 [ 0 ,......, j -1] 的元素一定都小于target

    target = 7
    array = [[1,2,8,9],[2,4,9,12],[4,7,10,13],[6,8,11,15]]

    def judge():
      i = 0
      j = len(array[0])-1
      while i < len(array) and j>=0:
        if array[i][j]<target:
          i+=1
        elif array[i][j]>target:
          j-=1
        else:
          return True
      return False

  • 相关阅读:
    生成8位随机字符串
    Python字符串反转
    dd备份文件系统
    多线程mtr-代码
    Sysctl命令及linux内核参数调整
    解决系统存在大量TIME_WAIT状态的连接
    tcpkill清除异常tcp连接
    graphite
    sed 中带变量的情况
    JAVA的Random类
  • 原文地址:https://www.cnblogs.com/hanouba/p/13940315.html
Copyright © 2011-2022 走看看