Last updated 2 years ago
矩阵元素查找_牛客题霸_牛客网
问题简述
已知一个有序矩阵mat,同时给定矩阵的大小n和m以及需要查找的元素x,且矩阵的行和列都是从小到大有序的。设计查找算法返回所查找元素的二元数组,代表该元素的行号和列号(均从零开始)。保证元素互异。
思路
从左上角开始查找,大于 x 往左,小于 x 往下;
x
class Solution: def findElement(self , mat: List[List[int]], n: int, m: int, x: int) -> List[int]: i, j = 0, m - 1 while i < n and j >= 0: if mat[i][j] > x: j -= 1 elif mat[i][j] < x: i += 1 else: return [i, j] return [-1, -1]