劍指offer 二維陣列中的查詢

2021-09-26 11:55:56 字數 932 閱讀 1557

用劍指offer上的方法做真題發現複雜度太高,只能ac 60%……

最後參考討論區的解答:

用set()容器ac過了

使用矩陣元素逐個比較。

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

class solution:

# array 二維列表

def find(self, target, array):

# write code here

if not array:

return false

row = len(array)

col = len(array[0])

r = row-1

c = 0

while r >=0 and c < col:

if array[r][c] < target:

c += 1

elif array[r][c] > target:

r -= 1

elif array[r][c] == target:

return true

return false

用set()方法首先對陣列去重。

lst = list(map(int,input().split()))

m = lst[0]

n = lst[1]

mat = set()

for i in range(m):

tmp = list(map(int,input().split()))

for j in tmp:

mat.add(j)

num = int(input())

if num in mat:

print('true')

else:

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