leetcode 74. Search a 2D Matrix

题目链接

题意:给一个二维数组。。。每一行每一列都分别递增。。问某个value是否出现过。。。

思路:单调。。显然二分。。。唯一的技巧是从右上角开始搜。

1/* ***********************************************
2Author :111qqz
3Created Time :2017年03月09日 星期四 19时03分07秒
4File Name :74.cpp
5************************************************ */
6class Solution {
public:

    bool searchMatrix(vector<vector<int>>& matrix, int target) {
 1	int n = matrix.size();
 2	if (n==0) return false;
 3	int m = matrix[0].size();
 4	if (m==0) return false;
 5	int row = 0 ;
 6	int col = m-1;
 7	while (col>=0&&row<n)
 8	{
 9	    if (matrix[row][col]==target) return true;
10	    else
11	    if (matrix[row][col]>target) col--;
12	    else  row++; 
13	}
14	return false;
    }

};