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

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

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

1、按题意来暴力解法

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class Main{
    public static void main(String[] args) throws IOException {
        BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
        String[] string = reader.readLine().split(" ");
        int n = Integer.parseInt(string[0]);
        int m = Integer.parseInt(string[1]);
        int k = Integer.parseInt(string[2]);
        for (int i = 0; i < n; i++) {
            string = reader.readLine().split(" ");
            for (int j = 0; j < m; j++) {
                if (Integer.parseInt(string[j]) == k) {
                    System.out.println("Yes");
                    return;
                }
            }
        }
        reader.close();
        System.out.println("No");
    }
}

2、优化方法,从右上角开始查找

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class Main{
    public static void main(String[] args) throws IOException {
        BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
        String[] string = reader.readLine().split(" ");
        int n = Integer.parseInt(string[0]);
        int m = Integer.parseInt(string[1]);
        int k = Integer.parseInt(string[2]);
        int[][] arr = new int[n][m];
        for(int i = 0;i < n;++i){
           string  =  reader.readLine().split(" ");
            for(int j = 0;j < m;++j){
                arr[i][j] = Integer.parseInt(string[j]);
            }
        }
        reader.close();
        int x = 0, y = m -1;
        while( x < n && y >= 0){
            if(arr[x][y] == k){
                System.out.println("Yes");
                return;
            }else if(arr[x][y] < k){
                x++;
            }else{
                y--;
            }
        }
        System.out.println("No");
    }
}
全部评论

相关推荐

MScoding:第一次见放闲鱼界面的
点赞 评论 收藏
分享
2024-11-04 11:44
蚌埠坦克学院 Java
点赞 评论 收藏
分享
评论
2
收藏
分享
牛客网
牛客企业服务