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

    题目描述——二维数组中的查找

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

    解题思路

    从某个角开始进行比较,对行列进行排除

    代码实现

     1     def Find(matrix, rows, colums, number):
     2         found = False
     3         if(matrix is not None and rows>0 and colums>0):
     4             row = 0
     5             columns = colums - 1 #从右上角开始
     6             while(row<rows and columns>=0):
     7                 if(matrix[row*columns+columns] == numbers):
     8                     found = True
     9                     break
    10                 else if(matrix[row*columns+columns] > number):
    11                     #右上角大于目标数,则其所在列都不符合(因为是从右上角开始找的,所以该元素所在列之上的元素已经考虑过了)
    12                     columns -= 1
    13                 else:
    14                     #右上角元素小于目标数,右上角元素为该行最大值,则去掉该行
    15                     row +=1
    16             return found







  • 相关阅读:
    UWA 技术分享连载 转载
    移动游戏加载性能和内存管理全解析 学习
    英语书籍阅读
    2017年6月
    Unity 官方文档学习
    YAML Class ID Reference
    Unity Blog 学习
    希腊字母
    2017年5月
    转载:书籍
  • 原文地址:https://www.cnblogs.com/szxyx/p/13307782.html
Copyright © 2011-2022 走看看