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

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

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

思路:

  1. 初始化,从 (0, M-1) 位置上开始遍历
  2. 如果 K 小于 当前位置上的值,在当前 的左部分进行查找
  3. 如果 K 大于 当前位置上的值,在当前 的下部分进行查找
  4. 如果当前位置已经 越界,则返回 No,证明当前矩阵中没有该 K

解释:

  1. 因为 每行 的数据是 从小到大 排列的,所以,如果当前位置上的值 大于 K 值,那么肯定往 当前行 的左部分进行查找
  2. 因为 每列 的数据是 从小到大 排列的,所以,如果当前位置上的值 小于 K 值,那么肯定往 当前列 的下部分进行查找
  3. 按照上述的查找方式,最坏情况下 也就遍历了 NM 列,时间复杂度为 O(N+M)O(N+M)
import java.util.*;
public class Main {
    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);
        String[] NMK = scan.nextLine().split(" ");
        int N = Integer.valueOf(NMK[0].trim());
        int M = Integer.valueOf(NMK[1].trim());
        int K = Integer.valueOf(NMK[2].trim());
        int[][] matrix = new int[N][M];
        for (int i = 0; i < N; i++) {
            String[] numsStr = scan.nextLine().split(" ");
            for (int j = 0; j < M; j++) {
                matrix[i][j] = Integer.valueOf(numsStr[j]);
            }
        }
        int cx = 0;
        int cy = M - 1;
        while (cx < N && cy > -1) {
            if (matrix[cx][cy] < K) {
                cx++;
            } else if (matrix[cx][cy] > K) {
                cy--;
            } else {
                System.out.println("Yes");
                return;
            }
        }
        System.out.println("No");
        return;
    }
}
全部评论
该牛油正在参与牛客写题解薅羊毛的活动,牛币,周边,京东卡超多奖品放送,活动进入倒计时!快来捡漏啦https://www.nowcoder.com/discuss/888949?source_id=profile_create_nctrack&channel=-1
点赞 回复 分享
发布于 2022-04-27 11:37

相关推荐

来个大佬救一下,为上投了都是石沉大海了,没实习经历的话怕秋招直接进不了面。什么实习这么难找,基本
心态爆炸了:现在正式的岗位都少,实习基本不咋招的,除了大厂,中小企业其实没那么多岗位需求,就算是有,大多都是招一两个廉价劳动力,同时,他们也会希望你一来就能干活的,没时间培训你,就让你了解公司的项目,你了解完就可以开始干活。再者是,很多低质量的实习其实用处没有那么大的。我去年也是找实习找到破防,最后去了一家深圳的小公司实习,工作对我来说很简单,甚至不如我在学校做的项目,秋招的时候,这段实习经历也并没有帮上什么忙,投递简历,依旧非常低的回复率。低回复率是常态,尤其是找实习,找不到,那就把重心放在优化自己的简历和项目,多看八股文,锻炼自己的面试能力,多看别人的面经,自己模拟面试,等秋招的时候,只要有那么寥寥几次,好好抓住那几次机会。
点赞 评论 收藏
分享
能干的三文鱼刷了10...:公司可能有弄嵌入式需要会画pcb的需求,而且pcb能快速直观看出一个人某方面的实力。看看是否有面试资格。问你问题也能ai出来,pcb这东西能作假概率不高
点赞 评论 收藏
分享
醉蟀:你不干有的是人干
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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