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

  • 相关阅读:
    总结
    设置导航栏上面的内容
    统一所有控制器导航栏左上角和右上角内容
    直接设置UIView的x,y,width,height...
    block浅析
    const浅析
    - (BOOL)isEqual:(id)object
    数据存入沙盒
    swift感悟2
    swift自学感悟1
  • 原文地址:https://www.cnblogs.com/hanouba/p/13940315.html
Copyright © 2011-2022 走看看