• 剑指offer二维数组中的查找python


    题目描述

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

    思路

     将整数与二维数组中的数进行比较

    由题意可知,在矩阵中,一个数字的左边和上边的数字小于该数字,右边和下边的数字大于该数字。所以在遍历的时候,用大小判断时,假如出现当前位置的数字小于(大于)目标数字时候,不知道向上还是向左移动当前位置的问题。所以,为了解决这样的麻烦,我们把矩阵的左下角位置的数选做基准点,作为初始位置,当前位置就只能有2个移动方向,向右或者向上。

    当目标数字大于当前数字时,当前位置向右移动,当目标数字小于当前数字时,当前位置向上移动。最终便可以判断是否有该整数。

    代码

     1 # -*- coding:utf-8 -*-
     2 class Solution:
     3     # array 二维列表
     4     def Find(self, target, array):
     5         # write code here
     6         if not target or not array:
     7             return False
     8         a = len(array) - 1
     9         b = 0
    10         while 0 <= a < len(array) and 0 <= b < len(array[0]):
    11             if target == array[a][b]:
    12                 return True
    13             if target > array[a][b]:
    14                 b += 1
    15                 continue
    16             if target < array[a][b]:
    17                 a -= 1
    18                 continue
    19         return False
    20             
  • 相关阅读:
    Linux下gdb attach的使用(调试已在运行的进程)
    Linux ps 命令
    SemaphoreFullException when checking user role via ASP.NET membership
    c程序内存分布
    正则表达式
    事务实战感悟
    oracle免客户端安装 plsql连接
    关于tomcat的热部署
    json工具包比较 fastjson jackson gson
    图片 滚动 放大缩小 旋转
  • 原文地址:https://www.cnblogs.com/wangzhihang/p/11776257.html
Copyright © 2020-2023  润新知