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

二维数组中的查找

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;
    }
}
全部评论

相关推荐

Aki-Tomoya:窝趣,人家这是先富带动后富,共同富裕了属于是
投递英伟达等公司10个岗位
点赞 评论 收藏
分享
02-16 22:13
门头沟学院 Java
Yki_:女生学成这样挺不错了,现在停止网课,立刻all in八股,从最频繁的开始背,遇到不会的知识点直接问AI,项目也别手敲,直接看技术文档,背别人总结好的面试官可能问的问题的答案,遇到不会的再去代码里找具体实现就可以了,3月份开始边背边投实习约面
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务