面試題3 在二維數組中查找

題目鏈接:在二維數組中查找

我的思路

  1. 逐步縮小矩陣的范圍,當矩陣縮小到一個數字的時候,看是否該數字是目標數字。是true,不是false。或者當矩陣的邊界恰為目標數字的時候,是true。
  2. 縮小矩陣范圍的方法:從矩陣的右上角開始看,當前數字大于目標數字,則目標數字不會在當前列,當前數字小于目標數字,則目標數字不會在當前行。
  3. 看圖說話


    在二維數組中查找.png

實現代碼

class Solution {
public:
    bool Find(vector<vector<int> > array,int target) {
        int row = array.size();
        int col = array[0].size();
        int i,j;
        for (i=0,j=col-1;i<row && j>=0;)
        {
            if (array[i][j] == target)
            {
                return true;
            }
            if (array[i][j] > target)
            {
                j--;
                continue;
            }
            if (array[i][j] < target)
            {
                i++;
            }
        }
        return false;
    }
};
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容