Uriel's Corner

Research Associate @ Harvard University / Research Interests: Computer Vision, Biomedical Image Analysis, Machine Learning
posts - 0, comments - 50, trackbacks - 0, articles - 594

[LeetCode]Search a 2D Matrix-2014.01.09

Posted on 2014-01-11 02:27 Uriel 阅读(107) 评论(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 };

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理