题目描述
在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。
解题思路:
这样一个二维数组从上到下递减,从左到右递增,那么从这样的二维数组的左下角开始或者从右上角开始对target进行比较。
具体实现源码如下:
class Solution { public: bool Find(int target, vector<vector<int> > array) { auto row= static_cast<int>(array.size() - 1); auto col= static_cast<int>(array[0].size() - 1); int i,j; if(array.empty()) return false; for(i=row,j=0;i>=0&&j<=col;){ if (target>array[i][j]){ j++; continue; } if (target<array[i][j]){ i--; continue; } if (target==array[i][j]) return true; } return false; } };
浙公网安备 33010602011771号