搜尋二維矩陣 II

2021-09-27 02:19:22 字數 1280 閱讀 4425

編寫乙個高效的演算法來搜尋 m x n 矩陣 matrix 中的乙個目標值 target。該矩陣具有以下特性:

示例:

現有矩陣 matrix 如下:

[

[1, 4, 7, 11, 15],

[2, 5, 8, 12, 19],

[3, 6, 9, 16, 22],

[10, 13, 14, 17, 24],

[18, 21, 23, 26, 30]

]

給定 target =5,返回true

給定 target =20,返回false

思路:利用python list的count()數一下target的次數

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

class solution(object):

def searchmatrix(self,matrix,target):

""":type matrix: list[list[int]]

:type target: int

:rtype: bool

"""if not matrix:

return false

for i in range(len(matrix)):

if matrix[i].count(target):

return true

if i == len(matrix) - 1:

return false

else:

continue

if __name__ == "__main__":

m = int(input())

n = int(input())

matrix = [[0]*n]*m

for i in range(m):

matrix[i] = input().split()

matrix[i] = [int(j) for j in matrix[i]]

target = int(input())

s = solution()

print(s.searchmatrix(matrix,target))

這道題由於每行和每列都是公升序,但是行與行之間元素可能存在重疊。考慮從右上角開始遍歷,如果target比它大,則刪除當前行,如果target比它小,則刪除當前列。

搜尋二維矩陣 II

搜尋二維矩陣 ii 寫出乙個高效的演算法來搜尋m n矩陣中的值,返回這個值出現的次數。這個矩陣具有以下特性 您在真實的面試中是否遇到過這個題?yes 樣例考慮下列矩陣 1,3,5,7 2,4,7,8 3,5,9,10 給出target 3 返回2 思路 行和列都是有序的,如果以右上角為起點來判斷大小...

搜尋二維矩陣 II

寫出乙個高效的演算法來搜尋m n矩陣中的值,返回這個值出現的次數。這個矩陣具有以下特性 樣例考慮下列矩陣 1,3,5,7 2,4,7,8 3,5,9,10 給出target 3 返回2 解題思路 遞增陣列,思路為從左下或者右上開始查詢。此題,我從左下開始查詢,第乙個為3,num 然後向上移動一行,去...

搜尋二維矩陣 II

編寫乙個高效的演算法來搜尋 m x n 矩陣 matrix 中的乙個目標值 target。該矩陣具有以下特性 每行的元素從左到右公升序排列。每列的元素從上到下公升序排列。示例 現有矩陣 matrix 如下 1,4,7,11,15 2,5,8,12,19 3,6,9,16,22 10,13,14,17...