zoom 笔试 2021/8/28

zoom笔试

第一部分

单选:

  • 给出ip和掩码,计算网络号
  • 排序算法,各种的复杂度,稳定性,二分法比较次数
  • Java代码判断执行结果
  • 图的基础知识
  • a = 2 | 24 ,这个原来是或运算啊,我当时没看出来,梦错答案了啊!!

第二部分

多选:

  • 排序问题
  • 数据库引擎,日志。有道题问执行了delete后,执行下列那个语句磁盘不会删除
  • 其他的忘了,有挺多不确定的

第三部分

第一题:

找132模式的匹配,有一个数组,找出遵循以下规则的个数,有下标索引i,j,k满足条件:

i < j < k 并且 nums[i] < nums[k] < nums[j]

例子:

[-1,3,2,0]

3

解释:满足条件的有[-1, 3, 2] [-1,3,0] [-1,2,0]

直接暴力了,我是想不到啥好的方法。。

/**
 * @author keboom
 * @date 2021/8/28
 */
public class Solution1 {

    public int find132Pattern (int[] nums) {
        int len = nums.length;
        int count = 0;
        // 第一个数
        for (int i = 0; i < len-2; i++) {
            // 第二个数
            for (int j = i+1; j < len-1; j++) {
                // 第三个数
                for (int k = j+1; k < len; k++) {
                    if (nums[i] < nums[k] && nums[k] < nums[j]) {
                        count++;
                    }
                }
            }
        }
        return count;
    }

    public static void main(String[] args) {
        int[] nums = {-1, 3, 2, 0};
        int res = new Solution1().find132Pattern(nums);
        System.out.println(res);
    }
}

第二题:

给你个数组,滑动窗口大小,滑动窗口步长。求每个窗口中最大值

例子:

[1,3,-1,-3,5,3,6,7],3,2

[3, 5, 6 ,7]

解释:[1,3-1] 中最大值3,[-1,-3,5] 中最大值5,[5,3,6] 中最大值6,[6,7] 中最大值7

由于他给的例子中数组长度都是偶数,所以我的返回结果中数组长度有问题,没有考虑数组长度为奇数的情况,最后也没来的及改,早知道前面加快点速度了。。。只过了40%,剩下的应该都是数组长度为奇数的情况了。

import java.util.Arrays;

/**
 * @author keboom
 * @date 2021/8/28
 */
public class Solution2 {

    public int[] slideWindow(int[] nums, int windowSize, int step) {
        int left = 0;
        int right = windowSize-1;
        int resLen = 0;
        // 如果是偶数
        if (nums.length % 2 == 0) {
            resLen = nums.length / step;
        } else { // 如果是奇数
            resLen = (nums.length+1)/step;
        }
        int[] res = new int[nums.length / step];
        int resIndex = 0;
        while (left < nums.length) {
            findMax(nums, left, right,res,resIndex);
            left += step;
            right += step;
            resIndex++;
        }
        return res;
    }

    private void findMax(int[] nums, int left, int right, int[] res, int resIndex) {
        int max = Integer.MIN_VALUE;
        for (int i = left; i <= right; i++) {
            if (i == nums.length) {
                break;
            }
            max = Math.max(max, nums[i]);
        }
        res[resIndex] = max;
    }


    //[1,3,-1,-3,5,3,6,7],3,2
    //[1,3,-1,-3,5,3,6,7],3,1
    public static void main(String[] args) {
        int[] nums = {1,3,-1,-3,5,3,6,7};
        int[] res = new Solution2().slideWindow(nums, 3, 2);
        System.out.println(Arrays.toString(res));
    }
}
#zoom校招##笔经##ZOOM#
全部评论
老哥,出结果了吗?😂
1 回复 分享
发布于 2021-09-13 07:56
投的什么岗位呀
1 回复 分享
发布于 2021-09-10 09:07
直接用一个集合来保存就不用考虑这个问题了把,但我只过60%,不知道问题在哪
1 回复 分享
发布于 2021-08-28 18:25
兄弟笔试有操作系统的题吗
点赞 回复 分享
发布于 2022-10-18 12:25 安徽
第一题应该可以用dp
点赞 回复 分享
发布于 2022-08-09 07:49
时长多久呀?
点赞 回复 分享
发布于 2021-09-14 15:25
老哥出结果了吗
点赞 回复 分享
发布于 2021-09-08 16:29
第二题优先队列过了40,难受,时间有点短
点赞 回复 分享
发布于 2021-08-28 21:24
第一题真的的是暴力解也太***了吧,我以前做过判断存在不存在的,想在上面改进,结果浪费了好多时间,我是***
点赞 回复 分享
发布于 2021-08-28 19:07
第二题单调栈写完只过了20,裂开。。
点赞 回复 分享
发布于 2021-08-28 18:38
第二题之前做过step=1的,最优时间复杂度应该是用双端队列的,我就再双端队列上死做死做都是60%,交卷之后突然意识到,**,既然第一题暴力能过,为啥第二题我不暴力呢,这波是思维被限制了啊🤣
点赞 回复 分享
发布于 2021-08-28 18:26

相关推荐

Wy_m:只要不是能叫的上名的公司 去实习没有任何意义 不如好好沉淀自己
点赞 评论 收藏
分享
03-15 00:45
已编辑
中国科学院大学 Java
问的很简单都秒了,但是面试官没开摄像头,疑似kpi,无后续。--------------------3/14更新,3/12通知给了口头offer,3/13发了意向书,已拒。一面(35min)(25/3/6)(无后续)&nbsp;&nbsp;&nbsp;&nbsp;1、自我介绍&nbsp;&nbsp;&nbsp;&nbsp;2、介绍一下你的那个Python相关项目(本科毕设,web系统+算法模型提供部分接口)&nbsp;&nbsp;&nbsp;&nbsp;3、Java面向对象有哪些特点呢?详细说一下。&nbsp;&nbsp;&nbsp;&nbsp;4、介绍一下hashmap;为什么要把链表转换为红黑树呢?红黑树查找的时间复杂度?1.7和1.8的区别。&nbsp;&nbsp;&nbsp;&nbsp;5、介绍一下concurrentHashmap。&nbsp;&nbsp;&nbsp;&nbsp;6、synchronized锁和Lock锁有什么区别?&nbsp;&nbsp;&nbsp;&nbsp;7、公平锁的一个底层是怎么实现的呢?&nbsp;&nbsp;&nbsp;&nbsp;8、线程池的核心参数、拒绝策略、提交一个任务执行流程?&nbsp;&nbsp;&nbsp;&nbsp;9、spring有哪些特点?(ioc/aop)&nbsp;&nbsp;&nbsp;&nbsp;10、spring中对于循环依赖是怎么解决的?&nbsp;&nbsp;&nbsp;&nbsp;11、MySQL和redis的区别?&nbsp;&nbsp;&nbsp;&nbsp;12、MySQL的索引结构是什么?&nbsp;&nbsp;&nbsp;&nbsp;13、MySQL的事务有哪些特性?怎么保证?&nbsp;&nbsp;&nbsp;&nbsp;14、MySQL的默认隔离级别?可重复读是怎么做到的呢?&nbsp;&nbsp;&nbsp;&nbsp;15、介绍一下MVCC和快照读readview。&nbsp;&nbsp;&nbsp;&nbsp;16、一般在什么场景下会使用redis?&nbsp;&nbsp;&nbsp;&nbsp;17、对于大量的请求,如果此时缓存中还没有写入数据怎么办?&nbsp;&nbsp;&nbsp;&nbsp;18、介绍一下redis实现的分布式锁。&nbsp;&nbsp;&nbsp;&nbsp;19、有用过es和mongo&nbsp;DB吗?(知道,没用过)&nbsp;&nbsp;&nbsp;&nbsp;20、消息中间件用过吗?说一下你的使用场景?&nbsp;&nbsp;&nbsp;&nbsp;21、一个场景,如果说有一个接口响应的比较慢,如果说让你排查,你会怎么去排查?(上下游接口、大key问题,只答了两,后面试官补充)&nbsp;&nbsp;&nbsp;&nbsp;无手撕,反问业务。
胖墩墩的查理在学c语言:哥们我是五号面的 流程差不多
查看21道真题和解析
点赞 评论 收藏
分享
评论
10
124
分享

创作者周榜

更多
牛客网
牛客企业服务