题解 | #二维数组中的查找#

二维数组中的查找

http://www.nowcoder.com/practice/abc3fe2ce8e146608e868a70efebf62e

双指针法

根据每行从左到右,每列从上到下的规律,从右上角开始:

  • 当前元素=目标元素,查找结束
  • 当前元素<目标元素,目标元素位于下侧,行+1
  • 当前元素>目标元素,目标元素位于左侧,列-1
class Solution:
    def Find(self , target: int, array: List[List[int]]) -> bool:
        # 右上角坐标
        col = len(array[0]) - 1
        row = 0
        while col >= 0 and row < len(array):
            # 判断结果
            if array[row][col] == target:
                return True
            # 目标值大于当前元素,下移
            elif array[row][col] < target:
                row +=  1
            # 小于目标值,左移
            else:
                col -= 1
        return False
全部评论

相关推荐

码农索隆:单休一个月少休息4天,一年就是48天,平时节假日,别人3天假期,单休的两天
点赞 评论 收藏
分享
06-26 22:20
门头沟学院 Java
码农索隆:让你把简历发给她,她说一些套话,然后让你加一个人,说这个人给你改简历,然后开始卖课
我的求职精神状态
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务