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

二维数组中的查找

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

class Solution {
public:
    bool Find(int target, vector<vector<int> > array) {
        //本题会发现如果从左下角或者右上角出发寻找某个数会非常方便
        //因为如果当前数组中的数不是想找的那个数,我们根据大小关系很容易就能知道接下来往哪边走
        //会更容易找到该数
        int n=array.size();int m=array[0].size();
        int i=array.size()-1;int j=0;//从左下角出发
        while(i>=0&&j<m){
            if(array[i][j]==target)
                return true;
            else if(array[i][j]<target){
                j++;
            }
            else i--;
        }
        return false;
    }
};
全部评论

相关推荐

认真搞学习:28小登的建议,投算法岗不要写什么物理竞赛,互联网+,多写点项目,用什么算法做了什么。还有本科算法是不可能的开发你这个也没有项目啊
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

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