用劍指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 思路有三種,...