题解 | #二维数组中的查找#

二维数组中的查找

https://www.nowcoder.com/practice/abc3fe2ce8e146608e868a70efebf62e

class Solution {
public:
    bool Find(int target, vector<vector<int> > array) {
        int m = array.size();
        int n = array[0].size();
        if(m == 0 || n == 0) return false;
        int i = 0 , j = 0 , now = array[0][0];
        while(1){
            if(now == target) return true;
            if(j<n-1){
                if(now < target && array[i][j+1] <= target){
                    now = array[i][j+1];
                    j = j+1;
                    continue;
                }
                if(j > 0 && array[i][j-1] >= target){
                    now = array[i][j-1];
                    j = j - 1;
                    continue;
                }
                if(i < m-1){
                    now = array[i+1][j];
                    i = i + 1;
                    continue;
                }
            }
            if(i<m-1){
                now = array[i+1][j];
                i = i + 1;
                if(array[i][j-1] >= target){
                    now = array[i][j-1];
                    j = j - 1;
                    continue;
                }
                continue;
            }
            break;
        }
        return false;
    }
};

全部评论

相关推荐

做黑夜里的那道光:两年电赛完赛没必要写,纯扣分
双非本科求职如何逆袭
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务