在乙個二維陣列中(每個一維陣列的長度相同),每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。請完成乙個函式,輸入這樣的乙個二維陣列和乙個整數,判斷陣列中是否含有該整數。
我刷題我快樂!!!
最簡單的方式肯定是比較二位陣列中的每乙個元素,但是這樣方式肯定不是最佳的方式。
可以考慮的是再二維陣列中走出乙個路徑,主要的問題在於怎麼根據當前數值和所求數值的大小關係,來就決定路徑的方向。
假如從左上角開始,當前元素小於所求的時候,該往哪走?右面的比它大,下面的也比它大,右面的和下面的誰大?不知道。。。
所以就應該從左下角開始,這樣往左走就是找比它大的,往上走就是找比它小的。(用右上角的點也可以。)
# -*- 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 思路有三種,...