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

二维数组中的查找

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

import java.util.*;


public class Solution {
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     * 
     * @param target int整型 
     * @param array int整型二维数组 
     * @return bool布尔型
     */
    public boolean Find (int target, int[][] array) {
        // write code here
        int ri = array.length;
        int rj = array[0].length;
        if(ri == 0 || rj == 0) return false; // 判空
        int i, j;
	  // 从最左下角开始遍历
	  // 最左下角元素比他上面的元素都大,但是比他右边的元素都小
        for(i = ri-1, j = 0; i >= 0 && j < rj;) {
            if(array[i][j] == target)
                return true;
            else if(array[i][j] > target) {
                i--; // 到上一行查找
            }else {
                j++; // 到右一列查找
            }
        }
        return false; // 根本找不到
    }
}

#刷题记录#
算法刷题笔记Java 文章被收录于专栏

刷算法题,记录代码和思路

全部评论

相关推荐

迷茫的大四🐶:干脆大厂搞个收费培训得了,这样就人均大厂了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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