题目描述
在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。
思路:从左下角开始遍历,右面的都是比它大的,上面的都是比它小的;
代码:
class Solution { public: bool Find(int target, vector<vector<int> > array) { int i = array.size(); int j = 0; if(i==0) return false; else j = array[0].size(); //if(target < array[0][0] || target > array[i-1][j-1]) // return false; //else { int k = i-1; int l = 0; while(l < j && k >= 0) { if(target == array[k][l]) return true; else if(target > array[k][l]) l++; else k--; } } return false; } };
但是不知道为啥一加这个if判断就崩