剑指offer:1.二维数组的查找

https://github.com/PhillipHuang2017/SwordOffer

题目描述

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

解题思路

  • 从右上角往左下角查找。

代码

  • Python
# -*- coding:utf-8 -*-
class Solution:
    # array 二维列表
    def Find(self, target, array):
        # write code here
        if len(array)==0 or len(array[0])==0 or target < array[0][0] or target > array[-1][-1]:
            return False

        row = 0    #end_row
        column = len(array[0]) - 1
        while row < len(array) and column >= 0:
            if array[row][column] == target:
                return True
            elif array[row][column] > target:
                column -= 1
            else:
                row += 1
        return False
           
solution = Solution()
result = solution.Find(7,[[1,2,3],[4,5,7],[8,9,11]])
print(result)

https://github.com/PhillipHuang2017/SwordOffer

发布了19 篇原创文章 · 获赞 10 · 访问量 4588

猜你喜欢

转载自blog.csdn.net/Dragon_Prince/article/details/104195322
今日推荐