劍指offer C++題解(牛客網):二維陣列中的查詢
阿新 • • 發佈:2018-11-10
【二維陣列中的查詢】:在一個二維陣列中(每個一維陣列的長度相同),每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。請完成一個函式,輸入這樣的一個二維陣列和一個整數,判斷陣列中是否含有該整數。
class Solution { public: bool Find(int target, vector<vector<int> > array) { bool ret = false; if (array.size() == 0 || array[0].size() == 0) return ret; int row; int col; int rows = array.size(); int cols = array[0].size(); row = 0; col = cols-1; while(row < rows && col >= 0){ if (array[row][col] == target){ ret = true; break; }else if (array[row][col] > target){ col--; }else{ row++; } } return ret; } };
坑:需要判斷vector為空的情況,不然會段錯誤......錯誤......誤......