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 {
 7
 8public:
 9
10    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;
15
16    }
17
18};