二维数组中的查找

题目描述
在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。
 
题解:可以选取最右边的数进行比较 利用它的有序性进行判定
 
 1 class Solution {
 2 public:
 3     bool Find(int target, vector<vector<int> > array) {
 4         if(array.size() == 0)
 5             return 0;
 6         int row = 0;
 7         int col = array[0].size() - 1;
 8         while(row <= array.size()-1 && col >= 0){
 9             if(target == array[row][col]){
10                 return 1;
11             }
12             else if(target > array[row][col]){
13                 row++;
14             }
15             else{
16                 col--;
17             }
18         }
19         return 0;
20     }
21 };

 

posted @ 2018-04-07 22:57  newmoonn  阅读(113)  评论(0编辑  收藏  举报