劍指offer之陣列查詢

2021-08-14 20:39:13 字數 1481 閱讀 8899

題目:

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

完成**:

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

class

solution:

# array 二維列表

deffind

(self, target, array):

row = len(array)

column = len(array[0])

for i in range(row):

for j in range(column ):

if array[i][j] == target:

return

true

return

false

if __name__ == '__main__':

array_ = [[1, 2, 8, 9],

[2, 4, 9, 12],

[4, 7, 10, 13],

[6, 8, 11, 15],

]s = solution()

print(s.find(7,array_))

# write code here

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

class

solution:

# array 二維列表

deffind

(self, target, array):

row = len(array)

column = len(array[0])

if row > 0

and column > 0:

x, y = 0, column - 1

# 0,3 找到右上角的數字

while

0<= x < row and

0<= y < column:

if array[x][y] == target:

return

true

elif array[x][y] > target: # 說明當前列不會有這個數了

y -= 1

elif array[x][y] < target: # 說明當前行不會有這個數了

x += 1

return

false

if __name__ == '__main__':

array_ = [[1, 2, 8, 9],

[2, 4, 9, 12],

[4, 7, 10, 13],

[6, 8, 11, 15],

]s = solution()

print(s.find(7,array_))

# write code here

劍指offer 陣列查詢

在乙個二維陣列中 每個一維陣列的長度相同 每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。請完成乙個函式,輸入這樣的乙個二維陣列和乙個整數,判斷陣列中是否含有該整數。方法一 暴力查詢 不考慮二維陣列的有序性,兩重迴圈直接遍歷。public class solution ret...

劍指Offer 查詢陣列

兩種方法 第一種比較普遍的遍歷所有,那我們首先就需要確定從陣列的哪個地方開始查詢.比較好的位置就是從四個角開始搜尋.個人選了從右上角開始,沒啥原因,就是想而已,其他地方也可以,只不過是 的數字改變而已.public static boolean find1 int array int target ...

劍指offer之查詢

劍指offeroffer中有這樣一道題,把乙個陣列最開始的若干個元素搬到陣列的末尾,我們稱之為陣列的旋轉。輸入乙個非遞減排序的陣列的乙個旋轉,輸出旋轉陣列的最小元素。例如陣列為的乙個旋轉,該陣列的最小值為1。note 給出的所有元素都大於0,若陣列大小為0,請返回0。初看這道題沒有思路,而且也沒有想...