Posted on 2014-01-11 02:27
Uriel 閱讀(109)
評(píng)論(0) 編輯 收藏 引用 所屬分類:
LeetCode
給定一個(gè)2D矩陣,每一行為遞增的數(shù),且下一行的第一個(gè)數(shù)大于上一行的最后一個(gè)數(shù),在該矩陣中查找某一元素是否存在
感覺(jué)我的方法可能不是最優(yōu)的,具體是:第一列的數(shù)往下找,如果大于了要找的數(shù)就break,在其上一行中找待查數(shù),如果已經(jīng)找到最后一行了就在最后一行找待查數(shù),找不到返回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 };