码迷,mamicode.com
首页 > 编程语言 > 详细

二维数组查找

时间:2018-09-04 13:48:33      阅读:166      评论:0      收藏:0      [点我收藏+]

标签:调用   float   csharp   [1]   sha   else   array   查找   desc   

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

class Solution:
    # array 二维列表
    def Find(self, target, array):
        row = len(array)-1        #行数
        col = len(array[0])-1     #列数
        i = 0
        j = col
        while j>=0 and i<=row:
            if array[i][j]>target:
                j-= 1
            elif array[i][j]<target:
                i+= 1
            else:
                return True
        return False  
    
matrix = [[1,2,3,4],[2,3,4,5],[3,4,5,6],[4,5,6,7]]
s = Solution() 
print(s.Find(5,matrix))

  

#Summary:
#思维关键点是矩阵左下角或者右上角,如果是左下角,比其小的,行-1继续查找,如果比起大,列+1继续查找,右上角则相反
#技术总结 ①二维数组的两种定义方法:list 或者numpy.array()
# ②list可以装不同类型元素int float str,array只能装同种类型
# ③获取元素方法list[0][1],array[0,1]
# ④list转换array调用numpy模块中的array方法 np.array(list)

二维数组查找

标签:调用   float   csharp   [1]   sha   else   array   查找   desc   

原文地址:https://www.cnblogs.com/tangsmarth/p/9583436.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!