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

二维数组中的查找

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

public class Solution {
    public boolean Find(int target, int [][] array) {
        //获取二维数组的行
        int row = array.length-1;
        //获取二维数组的列
        int col = array[0].length-1;
        //定位到左下角
        int i=row,j =0;
        //当 0<=i<=row 和   0<=j<=col 时循环
        while(i<=row&&i>=0&&j<=col&&j>=0){
            //如果目标值大于数组中的值,说明目标值在当前数组位置的右边,所以列j++
            if(target > array[i][j]) j++;
            //同理,目标值小于数组当前值的话,说明目标值在当前值的上一行,所以 i--;
            else if(target < array[i][j]) i--;
            else if(array[i][j]==target) return true;
        }
        return false;
    }
}
全部评论

相关推荐

09-12 11:55
已编辑
湖南工商大学 Java
那一天的Java_J...:这种一堆问题的,别去
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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