每日一道演算法題 二維陣列中的查詢 python

2021-09-24 07:55:59 字數 1110 閱讀 6081

【題目描述】

【**思路】思路一:按行執行二分查詢,只要該行的第乙個元素小於目標,就對該行二分查詢。 思路二:從陣列的左下角array[j][i]開始查詢,如果當前值小於目標,就向右,即i+1;如果當前值大於目標,就向上,即j-1。

【源**】

思路1:時間複雜度0(nlogn)

class solution:

# array 二維列表

def find(self, target, array):

# write code here

if(len(array)==0 or len(array[0])==0):return false

for i in range(0,len(array)):

if(array[i][0]>target):

break

num=array[i]

left=0

right=len(num)-1

while left<=right:

mid=int((left+right)/2)

if(num[mid]>target):

right=mid-1

elif(num[mid]else:

return true

return false

複製**

思路2:時間複雜度:o(n)

class solution:

# array 二維列表

def find(self, target, array):

# write code here

rows = len(array) - 1

cols= len(array[0]) - 1

i = rows

j = 0

while j<=cols and i>=0:

if targetelif target>array[i][j]:

j += 1

else:

return true

return false

複製**

每日一道演算法題 二維陣列中的查詢

在乙個二維陣列中 每個一維陣列的長度相同 每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。請完成乙個函式,輸入這樣的乙個二維陣列和乙個整數,判斷陣列中是否含有該整數。在乙個有序陣列中查詢某個數,我們很容易就想到二分查詢,所以不難寫出 public class solution...

每日一題 二維陣列中的查詢

題目 在乙個二維陣列中,每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。請完成乙個函式,輸入這樣的乙個二維陣列和乙個整數,判斷陣列中是否含有該整數輸入描述 array 待查詢的二維陣列 target 查詢的數字 輸出描述 查詢到返回true,查詢不到返回false 思路一 二...

每日刷題 二維陣列中的查詢

在乙個 n m 的二維陣列中,每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。請完成乙個函式,輸入這樣的乙個二維陣列和乙個整數,判斷陣列中是否含有該整數。例 現有矩陣 matrix 如下 1,4,7,11,15 2,5,8,12,19 3,6,9,16,22 10,13,14...