剣指offer全集python版-2 D配列の検索

2951 ワード

タイトルの説明:1つの2次元配列(各1次元配列の長さは同じ)では、各行は左から右に増加する順序でソートされ、各列は上から下に増加する順序でソートされます.関数を完了し、このような2次元配列と整数を入力して、配列にその整数が含まれているかどうかを判断してください.
考え方:
私たちは左下のこの元素を考えて、この元素には特徴があります:彼より大きい元素は必ずその右側に位置して、それより小さい元素はきっと彼の上に位置します.だから、targetが彼より大きくなると、私たちは右に移動し、逆に上に移動すればいいです.
コード:
# -*- coding:utf-8 -*-
class Solution:
    # array     
    def Find(self, target, array):
        # write code here
        i = len(array) - 1
        j = 0
        while(i >= 0 and j <= len(array[0])-1):
            if array[i][j] < target:
                j += 1
            elif array[i][j] > target:
                i -= 1
            else:
                return True
        return False