題目描述
在一個二維數組中(每個一維數組的長度相同),每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。請完成一個函數,輸入這樣的一個二維數組和一個整數,判斷數組中是否含有該整數。
思路就是第一個節點取數組的右上角,自此開始,若大則指針右移,若小則指針下移,碰到則return true。畫斜線而已
class Solution {
public:
bool Find(int target, vector<vector<int> > array) {
if(array.size()==0||array[0].size()==0) return false;
int i=0;
int j=array[0].size()-1;
while(i<=array.size()-1){
while(j>=0){
if(array[i][j]<target) break;
else if(array[i][j]==target) return true;
else --j;
}
i++;
}
return false;
}
};