题解 | #二维数组查找#

二维数组中的查找

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

//取右上或者左下元素
//以左下为例,左下:所在列最大,所在行最小
//target 大于他行方向移动 小于它 列方向移动

public class Solution {
    public boolean Find(int target, int [][] array) {
        //横向遍历
        int c = array.length;
        int r = array[0].length;
        int i= c-1;
        int j = 0;
        while((0<=i)&&(i<=c-1)&(0<=j)&(j<=r-1)){
            //if 等于 return true
            if(target==array[i][j]){
                return true;
            }
           //if target 小于 [i,j](左下:所在列最大,所在行最小),需要i++,列方向上移
            if(target<array[i][j]){
                i--;
                continue;
            }
            if(target>array[i][j]){
                j++;
                continue;
            }
        }
        return false;


    }


}
全部评论

相关推荐

天降大厂offer:你是我见过最美的牛客女孩
点赞 评论 收藏
分享
敢逐云霄志:你打招呼语怎么能这么长,hr都没看下去的欲望,简明扼要说重点,就读于某某学校某某专业,26届应届毕业生,学信网可查,先后在某某公司实习过(如有),然后做过什么项目,想找一份什么样的工作,可实习几个月以上,期待您的回复。
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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