矩阵元素查找

last modify

矩阵元素查找_牛客题霸_牛客网

问题简述

已知一个有序矩阵mat,同时给定矩阵的大小n和m以及需要查找的元素x,且矩阵的行和列都是从小到大有序的。设计查找算法返回所查找元素的二元数组,代表该元素的行号和列号(均从零开始)。保证元素互异。

思路

  • 从左上角开始查找,大于 x 往左,小于 x 往下;

Python
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]

Last updated