劍指Offer 二維陣列中的查詢

2021-09-26 02:31:49 字數 827 閱讀 3878

在乙個二維陣列中(每個一維陣列的長度相同),每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。請完成乙個函式,輸入這樣的乙個二維陣列和乙個整數,判斷陣列中是否含有該整數。

我刷題我快樂!!!

最簡單的方式肯定是比較二位陣列中的每乙個元素,但是這樣方式肯定不是最佳的方式。

可以考慮的是再二維陣列中走出乙個路徑,主要的問題在於怎麼根據當前數值和所求數值的大小關係,來就決定路徑的方向。

假如從左上角開始,當前元素小於所求的時候,該往哪走?右面的比它大,下面的也比它大,右面的和下面的誰大?不知道。。。

所以就應該從左下角開始,這樣往左走就是找比它大的,往上走就是找比它小的。(用右上角的點也可以。)

# -*- coding:utf-8 -*-

class solution:

# array 二維列表

def find(self, target, array):

# write code here

rows = len(array)

cols = len(array[0])

if rows > 0 and cols > 0:

row = rows-1

col = 0

while row>=0 and col < cols:

if target == array[row][col]:

return true

elif target > array[row][col]:

col += 1

else:

row -= 1

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 思路有三種,...