二維數組中的查找

題目描述

在一個二維數組中(每個一維數組的長度相同),每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。請完成一個函數,輸入這樣的一個二維數組和一個整數,判斷數組中是否含有該整數。

思路就是第一個節點取數組的右上角,自此開始,若大則指針右移,若小則指針下移,碰到則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;
    }
};

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章