【大厂面试题】笔试题明明已经AC了,为什么还是把我挂掉了?乔戈里告诉你为什么...

【大厂面试题】笔试题明明已经AC了,为什么还是把我挂掉了?乔戈里告诉你为什么..._第1张图片

题目描述

给定一个二维数组,其每一行从左到右递增排序,从上到下也是递增排序。给定一个数,判断这个数是否在该二维数组中。

Consider the following matrix:
[
  [1,   4,  7],
  [2,   5,  8],
  [3,   6,  9]
]


Given target = 5, return true.
Given target = 20, return false.
【大厂面试题】笔试题明明已经AC了,为什么还是把我挂掉了?乔戈里告诉你为什么..._第2张图片
public class Solution {
    public boolean Find(int target, int [][] array) {
        if(array.length == 0)// 如果二维数组为空,直接返回false
            return false;
        for(int i=0;i
【大厂面试题】笔试题明明已经AC了,为什么还是把我挂掉了?乔戈里告诉你为什么..._第3张图片 【大厂面试题】笔试题明明已经AC了,为什么还是把我挂掉了?乔戈里告诉你为什么..._第4张图片 【大厂面试题】笔试题明明已经AC了,为什么还是把我挂掉了?乔戈里告诉你为什么..._第5张图片 【大厂面试题】笔试题明明已经AC了,为什么还是把我挂掉了?乔戈里告诉你为什么..._第6张图片

【大厂面试题】笔试题明明已经AC了,为什么还是把我挂掉了?乔戈里告诉你为什么..._第7张图片

【大厂面试题】笔试题明明已经AC了,为什么还是把我挂掉了?乔戈里告诉你为什么..._第8张图片 【大厂面试题】笔试题明明已经AC了,为什么还是把我挂掉了?乔戈里告诉你为什么..._第9张图片

比如你要想找数字6,我们从数组矩阵右上角上的数字开始,右上角数字是7,而7>6

【大厂面试题】笔试题明明已经AC了,为什么还是把我挂掉了?乔戈里告诉你为什么..._第10张图片

题目中二维数组的特性是从上到下递增,所以7所在的那列就不必去找了。

【大厂面试题】笔试题明明已经AC了,为什么还是把我挂掉了?乔戈里告诉你为什么..._第11张图片

将7所在的所在的那列剔除掉,进入到下一列去比较。下一列的右上角是4,4<6

【大厂面试题】笔试题明明已经AC了,为什么还是把我挂掉了?乔戈里告诉你为什么..._第12张图片

而按照二维数组的特性,数组是从左到右递增的,4已经小于6了,那么4左边的数肯定也小于6, 而 4 目前是右上角的数字,所以4所在的行就没必要去比较了。

【大厂面试题】笔试题明明已经AC了,为什么还是把我挂掉了?乔戈里告诉你为什么..._第13张图片

将4所在的行删除掉,进入到下一行。可以看到目前右上角的数字是5了。我们只比较了两次,就已经剔除掉了一行一列了!斗宗强者,恐怖如此!

【大厂面试题】笔试题明明已经AC了,为什么还是把我挂掉了?乔戈里告诉你为什么..._第14张图片

好,继续比较5和6,5由于小于6,按照之前的逻辑所以5所在这行剔除掉,进入到下一行。

【大厂面试题】笔试题明明已经AC了,为什么还是把我挂掉了?乔戈里告诉你为什么..._第15张图片 【大厂面试题】笔试题明明已经AC了,为什么还是把我挂掉了?乔戈里告诉你为什么..._第16张图片

而下一行中的右上角是6,最终我们找到了目标数字6。

【大厂面试题】笔试题明明已经AC了,为什么还是把我挂掉了?乔戈里告诉你为什么..._第17张图片

【大厂面试题】笔试题明明已经AC了,为什么还是把我挂掉了?乔戈里告诉你为什么..._第18张图片

【大厂面试题】笔试题明明已经AC了,为什么还是把我挂掉了?乔戈里告诉你为什么..._第19张图片 Java 【大厂面试题】笔试题明明已经AC了,为什么还是把我挂掉了?乔戈里告诉你为什么..._第20张图片 JS 【大厂面试题】笔试题明明已经AC了,为什么还是把我挂掉了?乔戈里告诉你为什么..._第21张图片 PY 【大厂面试题】笔试题明明已经AC了,为什么还是把我挂掉了?乔戈里告诉你为什么..._第22张图片 PHP 【大厂面试题】笔试题明明已经AC了,为什么还是把我挂掉了?乔戈里告诉你为什么..._第23张图片 C++

这里面有Java、PHP、JS、Python、C++五种实现,妈妈再也不用担心你看不懂其它语言了。为了方便你理解,我还顺便制作了动画的形式。

【大厂面试题】笔试题明明已经AC了,为什么还是把我挂掉了?乔戈里告诉你为什么..._第24张图片 【大厂面试题】笔试题明明已经AC了,为什么还是把我挂掉了?乔戈里告诉你为什么..._第25张图片 【大厂面试题】笔试题明明已经AC了,为什么还是把我挂掉了?乔戈里告诉你为什么..._第26张图片

这是乔戈里第一次尝试漫画、图解、动画、五种编程语言结合的方式讲解算法,基本从今天早上起来一直搞到现在了,耗时巨长,在看、转发、AD素质三连能安排一下不!乔戈里郑重承诺,如果本篇在看数超过 100 (定个小目标吧,我看人家隔壁Java3y在看都是150起步,哈哈),下周继续爆肝一篇,目标就是今年把剑指offer都安排上,然后进军leetcode和大厂笔试面试真题,筒子们,这(lian)样(ren)好不好啊!?

最近面试BAT,整理一份面试资料Java面试BAT通关手册,覆盖了Java核心技术、JVM、Java并发、SSM、微服务、数据库、数据结构等等。

获取方式:点“在看”,关注公众号并回复 888 领取,更多内容陆续奉上。

你可能感兴趣的:(【大厂面试题】笔试题明明已经AC了,为什么还是把我挂掉了?乔戈里告诉你为什么...)