劍指offer 1 二維陣列中查詢 Python

2022-09-05 20:03:14 字數 1320 閱讀 3999

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

時間限制:1秒 空間限制:32768k 熱度指數:1448982

本題知識點: 查詢

陣列1.全域性順序查詢

占用記憶體:5636k

#思路:一行一行順序查詢

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

class

solution:

#array 二維列表

deffind(self, target, array):

#write code here

for i in

range(len(array)):

for j in

range(len(array[0])):

if target >array[i][j]:

print("

continue:

",i,array[i][j])

continue

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

print("

true:

",array[i][j])

return

true

return false

2.根據資料規律快速查詢

占用記憶體:5752k

#

-*- coding:utf-8 -*-

'''思路

矩陣是有序的,從左下角來看,向上數字遞減,向右數字遞增,

因此從左下角開始查詢,當要查詢數字比左下角數字大時。右移

要查詢數字比左下角數字小時,上移

'''class

solution:

#array 二維列表

deffind(self, target, array):

#write code here

rownum,colnum =len(array),len(array[0])

print

(rownum,colnum)

i,j = rownum-1,0

while i >= 0 and j print

(i,j,array[i],array[j])

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

return

true

elif array[i][j] >target:

i -= 1

elif array[i][j] j += 1

return false

劍指offer 1 二維陣列查詢

在乙個二維陣列中 每個一維陣列的長度相同 每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。請完成乙個函式,輸入這樣的乙個二維陣列和乙個整數,判斷陣列中是否含有該整數。二維陣列是有序的,比如下面的資料 1 2 3 4 5 6 7 8 9可以直接利用左下角數字開始查詢 大於 比較...

劍指offer 1 二維陣列查詢

在乙個二維陣列中 每個一維陣列的長度相同 每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。請完成乙個函式,輸入這樣的乙個二維陣列和乙個整數,判斷陣列中是否含有該整數 首先是先模擬獲取隨機遞增陣列 public static int getarray int n,int m 初...

劍指Offer 1 二維陣列查詢

劍指offer 1 二維陣列查詢 馬上也要畢業開始找工作了,自己程式設計能力實屬弟弟,笨鳥先飛,雖然飛得好像也不早了,打算每天做一道吧,爭取暑假前做完。準備秋招了,目前就是在牛客網上做題為主 題目要求是這樣 在乙個二維陣列中 每個一維陣列的長度相同 每一行都按照從左到右遞增的順序排序,每一列都按照從...