在乙個二維陣列中(每個一維陣列的長度相同),每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。請完成乙個函式,輸入這樣的乙個二維陣列和乙個整數,判斷陣列中是否含有該整數。
思路一遍歷,強行求解,耗時較多
# -
*- coding:utf-8-
*-class
solution
: # array 二維列表
def find
(self, target, array)
: # write code here
for i in array:
for j in i:
if target == j:
return true
return false
思路二
題目中說到:該二維陣列由上到下、由左到右分別遞增
那麼選取左下角(右上角)的元素a[row][col]與target進行比較,
當target小於元素a[row][col]時,那麼target必定在元素a所在行的左邊,即col–
(當target大於元素a[row][col]時,那麼target必定在元素a所在列的下邊,即row++)
但其實也挺費時間……
# -
*- coding:utf-8-
*-class
solution
: # array 二維列表
def find
(self, target, array)
: # write code here
row =
len(array)-1
col=
len(array[0]
)-1 i = row
j =0while j<=col and i>=0:
if target[j]:
i -=
1 elif target>array[i]
[j]:
j +=
1else
:return true
return false
劍指offer 二維陣列中查詢
在乙個二維陣列中 每個一維陣列的長度相同 每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。請完成乙個函式,輸入這樣的乙個二維陣列和一 個整數,判斷陣列中是否含有該整數。public class solution 因為陣列每一行都按照從左到右遞增的順序排序,每一列都按照從上到下...
劍指offer 二維陣列中查詢
從今天開始每天一題,除了節假日。在乙個二維陣列中 每個一維陣列的長度相同 每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。請完成乙個函式,輸入這樣的乙個二維陣列和乙個整數,判斷陣列中是否含有該整數。class solution return false class solut...
劍指offer 二維陣列中查詢
要求如下 在乙個二維陣列中 每個一維陣列的長度相同 每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。請完成乙個函式,輸入這樣的乙個二維陣列和乙個整數,判斷陣列中是否含有該整數 示例如下 7,1,2,8,9 2,4,9,12 4,7,10,13 6,8,11,15 思路有三種,...