leetcode 240 搜尋二維矩陣 II

2021-10-10 18:51:01 字數 902 閱讀 9531

編寫乙個高效的演算法來搜尋 m x n 矩陣 matrix 中的乙個目標值 target。該矩陣具有以下特性:

每行的元素從左到右公升序排列。

每列的元素從上到下公升序排列。

1、判斷是不是空,如果是的話就返回false

2、確定x,y的範圍:x的範圍是每個子list的長度,y的範圍是matrix的元素個數,並且賦給初值(之所以不能都賦給0的原因是,從(0,0)開始應該怎麼走,不確定是橫著走還是縱著走,但是如果從(xmax,0)開始的話,比target小就右移,比target大就上移即可。)

class

solution

:def

searchmatrix

(self, matrix, target)

:"""

:type matrix: list[list[int]]

:type target: int

:rtype: bool

"""ifnot matrix:

return

false

x_range =

len(matrix[0]

)-1 y_range =

len(matrix)-1

x,y = x_range,

0while x>=

0and y <= y_range:

if matrix[y]

[x]== target:

return

true

elif matrix[y]

[x]< target:

y +=

1else

: x -=

1return

false

矩陣可以表示成matrix的形式。

leetcode240 搜尋二維矩陣

編寫乙個高效的演算法來搜尋 m x n 矩陣 matrix 中的乙個目標值 target。該矩陣具有以下特性 示例 現有矩陣 matrix 如下 1,4,7,11,15 2,5,8,12,19 3,6,9,16,22 10,13,14,17,24 18,21,23,26,30 給定 target 5...

LeetCode 240 搜尋二維矩陣 II

編寫乙個高效的演算法來搜尋 m x n 矩陣 matrix 中的乙個目標值 target。該矩陣具有以下特性 示例 現有矩陣 matrix 如下 1,4,7,11,15 2,5,8,12,19 3,6,9,16,22 10,13,14,17,24 18,21,23,26,30 給定 target 5...

LeetCode 240 搜尋二維矩陣 II

1.題目 2.解答 2.1.方法一 從矩陣的左下角開始比較 class solution return false 2.2.方法二 我們先沿著對角線的方向,找到第乙個大於目標值的數字。比如目標值 14,我們發現 9 14 17。然後左上角和右下角的元素都可以排除掉了。我們只需再對左下角剩餘的行和右上...