题解 | #矩阵元素查找#

矩阵元素查找

http://www.nowcoder.com/practice/3afe6fabdb2c46ed98f06cfd9a20f2ce

遍历数组,由于矩阵从上到下,从右到左有序,因此可以从第0行第m-1列开始遍历,若mat[i][j]>x则左移,否则下移,直到找到目标元素。越界则直接返回空数组。时间复杂度O(m+n)。

public class Solution {
    public int[] findElement(int[][] mat, int n, int m, int x) {
        int i=0,j=m-1;
        while(i>=0&&i<n&&j>=0&&j<m){
            if(mat[i][j]==x){return new int[]{i,j};}
            else if(mat[i][j]>x)--j;
            else ++i;
        }
        return new int[]{};
    }
}
全部评论

相关推荐

评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务