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;
}
};