Posted on 2014-01-11 02:27
Uriel 閱讀(109)
評論(0) 編輯 收藏 引用 所屬分類:
LeetCode
給定一個2D矩陣,每一行為遞增的數,且下一行的第一個數大于上一行的最后一個數,在該矩陣中查找某一元素是否存在
感覺我的方法可能不是最優的,具體是:第一列的數往下找,如果大于了要找的數就break,在其上一行中找待查數,如果已經找到最后一行了就在最后一行找待查數,找不到返回false
1 class Solution {
2 public:
3 bool searchMatrix(vector<vector<int> > &matrix, int target) {
4 int n = matrix.size();
5 int m = matrix[0].size();
6 int i, j;
7 for(i = 0; i < n; ++i) {
8 if(matrix[i][0] > target) {
9 --i;
10 break;
11 }
12 if(i == n - 1) break;
13 }
14 if(i < 0) return false;
15 for(j = 0; j < m; ++j) {
16 if(matrix[i][j] == target) return true;
17 }
18 return false;
19 }
20 };