题解 | #在行列都排好序的矩阵中找指定的数#

在行列都排好序的矩阵中找指定的数

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

参考大佬的思路及代码

import java.util.Scanner;
/**
 * 创建主函数
 * 1 矩阵输入
 * 2 判断是否在矩阵中,返回BOOlean
 * 3 输出 yes or no
 */
public class Main {

    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int n = scanner.nextInt();//行数
        int m = scanner.nextInt();//列数
        int k = scanner.nextInt();//值

//    创建二维数组,存储矩阵
        int[][] matrix = new int[n][m];
        for (int i = 0; i < n; i++) {
            for (int j = 0; j < m; j++) {
                matrix[i][j]=scanner.nextInt();

            }
        }

        boolean result = search(matrix,k);
        if(result){
            System.out.println("Yes");
        }else{
            System.out.println("No");
        }

    }
    //    判断是否为null,行数列数是否小于1
    public static boolean search(int[][] matrix,int value){
        if(matrix==null||matrix.length<1||matrix[0].length<1){
            return false;
        }
//        得到行数和列数,循环的开始条件终止条件
        int row = matrix.length;
        int columns = matrix[0].length;

        int i = 0;
        int j = columns-1;
        while(i<row&&j>=0){
            if(matrix[i][j]==value){
                return true;
            }else if(matrix[i][j]<value){
                i++;
            }else{
                j--;
            }
        }
        return false;
    }
}

全部评论

相关推荐

Xistic:啊哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈
投递阿里巴巴集团等公司10个岗位
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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