首页 > 编程语言 > 详细

剑指offer第一题:二维数组的查找(python)

时间:2019-04-28 20:53:45      阅读:148      评论:0      收藏:0      [点我收藏+]

题目描述:

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

思路:

应当从数组的左下角或右上角开始判断,以左下角为例,若整数小于左下角数值,则最后一行不用考虑。若整数大于左下角数值,则第一列不用考虑。不断缩小范围。
 
 1 # -*- coding:utf-8 -*-
 2 class Solution:
 3     # array 二维列表
 4     def Find(self, target, array):
 5         # write code here
 6         rows = len(array) - 1
 7         cols= len(array[0]) - 1
 8         i = rows
 9         j = 0
10         while j<=cols and i>=0:
11             if target<array[i][j]:
12                 i -= 1
13             elif target>array[i][j]:
14                 j += 1
15             else:
16                 return True
17         return False

 

剑指offer第一题:二维数组的查找(python)

原文:https://www.cnblogs.com/shenhangyu/p/10786280.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!