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

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

     由于9>7,而9所在列下方的元素都大于9,所以剔除9所在的列

       由于8>7,所以,同上剔除8所在的列

    由于2小于7,而2所在行左边的元素均小于2,所以,剔除2所在的行

      由于4<7,剔除4所在的行

    lis=[[1,2,8,9],
         [2,4,9,12],
         [4,7,10,13],
         [6,8,11,15]]
    
    target=15
    rows=len(lis)-1               #数组的行数
    cols=len(lis[0])-1            #数组的列数
    
    def findNum(lis,target):
        i = 0                     # (i,j)标记最右上角元素的坐标
        j = cols
        while i<=rows and j>=0:
            temp = lis[i][j]
            if temp == target:
                return True
            elif temp>target:
                j=j-1
            elif temp<target:
                i=i+1
        return False
    
    print(findNum(lis,target))
  • 相关阅读:
    codeforces round#600
    第三章:数据操作
    1143 Lowest Common Ancestor (30 分)
    游标
    1151 LCA in a Binary Tree (30 分)
    jQuery之setInterval()定时器
    C程序第四次作业
    C程序第三次作业
    C程序第二次作业
    C程序第一次作业
  • 原文地址:https://www.cnblogs.com/zijidan/p/9512178.html
Copyright © 2011-2022 走看看