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

二维数组中的查找

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

public class Solution {
    public boolean Find(int target, int [][] array) {
        //关键是选择从右上角或者左下角开始找。不能从左上角开始找
        //这道题中,我选择从右上角开始找
        if(array == null || array.length == 0){
            return false;
        }
        for(int i = 0; i < array.length; i++){
            int[] inner = array[i];
            for(int j = inner.length-1 ; j > -1; j--){
                if(target == inner[j]){
                    return true;
                }
                else if(target > inner [j]){
                   //如果找的这个数比当前的还大,证明这一行中没有目标值
                    //直接跳出本次内循环,去判断下一行的数
                    break;
                }
                // 下面这段代码也不用要,因为这种情况的时候就是进行下一次循环
                //     else if(target < inner [j]){
                //            continue;
                //         }
            }
        }
        return false;
    }
}
全部评论

相关推荐

11-05 10:55
中南大学 Java
要双修的猫头鹰:这面试官怕不是个m
我来点评面试官
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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