編寫乙個高效的演算法來搜尋 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。然後左上角和右下角的元素都可以排除掉了。我們只需再對左下角剩餘的行和右上...