每日一題:查詢
阿新 • • 發佈:2018-11-24
在一個二維陣列中(每個一維陣列的長度相同),每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。請完成一個函式,輸入這樣的一個二維陣列和一個整數,判斷陣列中是否含有該整數
高階姿勢寫法:
class Solution { public: bool Find(int target, vector<vector<int> > array) { int m,n,x,y; m = array.size();//行數 n = array[0].size();//列數 x=m-1;y=0;//座標定在左下角 while(x>=0 && y<=n-1){ if(target<array[x][y]){ x--;//遇小上移 } else if(target>array[x][y]){ y++;//遇大右移 } else { return true; } } return false; } };
平庸的姿勢:沒有用到條件二維陣列是有序陣列
class Solution { public: bool Find(int target, vector<vector<int> > array) { for(int i = 0;i < array.size();i++){ for(int j = 0 ;j <array[0].size();j++){ if(target == array[i][j]){ return true; } } } return false; } };