剑指offer-面试题3:二维数组中的查找

这里记录一下小白刷题的过程,如有代码雷同,还请多多包含。

这道题思路出发点是:

1.找到比较的临界位置,左下角或者右上角。如果是左上角或者右下角,就很容易出现不知往哪个方向走的困境。

2.if用来判定条件,while用来循环查找。

def findvalue(matrix,numb):
    if not matrix:
        return False  
    rows,cols = len(matrix),len(matrix[0])  #用len()来确定二维数组的长度 
                                            #从左下角或者右上角来查找策略
    x=rows-1                                #左下角的行 列定义
    y=0
    while x>=0 and y<=cols-1:
        if matrix[x][y]==numb:
            return True
        elif numb>matrix[x][y]:
            y=y+1 
        else:
            x=x-1
    return False

    

reference:

1.点击打开链接

2.点击打开链接



    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值