01 二维数组的查找

//题目:
//在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。
请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。

//如果用一维数组表示,则前提必须知道它的行数和列数
//如果用容器vector包含容器元素,即vector> array,则行数应表示为rowCount =array.size(),
列数表示为colCount = array[0].size()

 

C++ Code 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
 
class Solution 
{
public:
    
bool Find(int target, vector<vector<int> > array) 
    {
        
int cols = array[0].size();
        
int rows = array.size();
        
bool result = false;
        
int i; 
        
int j;
        
for (i = 0, j = cols-1; i <rows && j>=0;)
        {
            
if (target == array[i][j])
            {
                result = 
true;
                
return result;
            }
            
if (target < array[i][j])
            {
                j--;
                
continue;
            }
            
if (target> array[i][j])
            {
                i++;
                
continue;
            }
        }
        
return result;
    }
};
posted @ 2017-08-03 22:09  繁星的夜空2012  阅读(83)  评论(0编辑  收藏  举报