240. 搜索二维矩阵 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, 24],
[18, 21, 23, 26, 30]
]
给定target = 5,返回true

给定target = 20,返回false

代码

class Solution {
public:
    bool searchMatrix(vector<vector<int>>& matrix, int target) {

    	int rows = matrix.size();
    	if(rows == 0)
    		return false;
    	int columns = matrix[0].size();
    	if(columns == 0)
    		return false;
    	int i = 0;
    	int j = columns-1;
    	while(i < rows && j >=0)
    	{    		
    		if(matrix[i][j] == target)
    			return true;
    		else if(matrix[i][j] > target)
    			j--;
    		else
    			i++;
    	}
    	return false;          
    }
};

posted on 2021-05-01 21:55  朴素贝叶斯  阅读(30)  评论(0编辑  收藏  举报

导航