京东秋招后端笔试第五场(答得不好)

选择题

记得考了:

操作系统中单处理器、多处理器互斥

数据库的共享锁和互斥锁

哈希采用线性探测时 平均搜索长度

HTTP2 和 HTTP3的区别,基于什么协议,HTTP2是不是二进制的

编程题

第一题

import java.util.Arrays;
import java.util.Comparator;
import java.util.Scanner;

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        int n=in.nextInt();//有这么多个卡 编号是1到n
        int m=in.nextInt();//有这么多个门 每个门对应一个区间
//本质上 是要确认有没有哪个数 落在所有区间内
        int left=Integer.MIN_VALUE,right=Integer.MAX_VALUE;
        int ans=0;
        for(int i=0;i<m;i++){
            int li=in.nextInt();
            int ri=in.nextInt();
            left=Math.max(left,li);
            right=Math.min(right,ri);
            if(left>right)
                break;
        }
        if(left<=right)
            ans=right-left+1;
        System.out.println(ans);

    }
}

第二题 只通过了37.5%的用例,时间超时

调了快一小时,用例通过数都没变 懵逼中 希望有大佬能发下解答

题目

我写的代码 思路就是用回溯法找到所有情况

把问题转换成了 找到walk个不用跳的格子

import java.util.*;

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    static Set<Long> set;
    static long L;static long b;
    static Map<Long[],Boolean> quicktest;
    private static boolean test(long walk,long cur){//试探 返回true或者false
        Boolean ans=quicktest.getOrDefault(new Long[]{walk,cur},null);
        if(ans!=null)
            return ans;
        if(walk==0) {
            quicktest.put(new Long[]{walk,cur},cur <= L);
            return cur <= L;
        }
        if(walk<0)
        { quicktest.put(new Long[]{walk,cur},false);
            return false;}
        if(cur>=L)
        { quicktest.put(new Long[]{walk,cur},false);
            return false;}
        //如果跳
        cur+=b;
        boolean tmp=test(walk,cur),tmp2=false;
        if(tmp)
            return true;
        cur-=b;//撤回这个跳
        //判断这里能不能走
        if(set.contains(cur)==false){//没有障碍物 能走
            walk--;cur++;
            tmp2=test(walk,cur);
        }
        quicktest.put(new Long[]{walk,cur},tmp2);
        return tmp2;
    }
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        int T= in.nextInt();//一共T组数据
        for(int i=0;i<T;i++){
            int n= in.nextInt();//一共有n个障碍
            L= in.nextLong();//起点是0 终点是L
            long m= in.nextLong();//必须恰好完成m次
            b= in.nextLong();//每次只跳这个长度
            set=new HashSet<>();
            //接下来输入n个整数
            for(int j=0;j<n;j++){
                long a=in.nextLong();//可以得到每个障碍物的位置
                set.add(a);
            }
            quicktest=new HashMap();
            //总结一下约束条件:最后恰好到达L。跳的次数恰好是m。如果从i起跳,那么会到达i+b
            //思路:一次递归 只要能恰好找到walk个 用走的格子就行
            long walk=L-m*b;
            if(walk<0){
                System.out.println("No");
                continue;
            }else if(walk==0){
                System.out.println("Yes");
                continue;
            }
            boolean ans=test(walk,0);
            //最后输出yes或者no
            if(ans){
                System.out.println("Yes");
            }else
                System.out.println("No");

        }

    }
}

第三题

题目:n,k,m,数组里任意k个数的和都小于等于m

考完刷了下大佬们的笔记。主要是用m/k和m%k来操作

这种思路觉得比较顺:非最后k个数如果比sum/k大直接减到sum/k,对最后k个数求和,将和减到sum

#京东求职进展汇总##笔试#
全部评论
我直接去做第三题了,过了86用例,第二题打表全no都25用例,哥们下次遇见第二题这种不知道在说什么的直接骗点分先看后面的
1 回复 分享
发布于 2024-09-07 18:17 北京
第二题是我的第三题,我连题目都没看懂
点赞 回复 分享
发布于 2024-09-07 18:44 重庆

相关推荐

06-27 12:54
已编辑
门头沟学院 Java
累了,讲讲我的大学经历吧,目前在家待业。我是一个二本院校软件工程专业。最开始选专业是觉得计算机感兴趣,所以选择了他。本人学习计算机是从大二暑假结束开始的,也就是大三开始。当时每天学习,我个人认为Java以及是我生活的一部分了,就这样持续学习了一年半,来到了大四上学期末,大概是在12月中旬,我终于找的到了一家上海中厂的实习,但我发现实习生的工作很枯燥,公司分配的活也不多,大多时间也是自己在自学。就这样我秋招末才找到实习。时间来到了3月中旬,公司说我可以转正,但是转正工资只有7000,不过很稳定,不加班,双休,因为要回学校参加答辩了,同时当时也是心高气傲,认为可以找到更好的,所以放弃了转正机会,回学校准备论文。准备论文期间就也没有投递简历。然后时间来到了5月中旬,这时春招基本也结束了,然后我开始投递简历,期间只是约到了几家下场面试。工资也只有6-7k,到现在我不知道该怎么办了。已经没有当初学习的心劲了,好累呀,但是又不知道该干什么去。在家就是打游戏,boss简历投一投。每天日重一次。26秋招都说是针对26届的人,25怎么办。我好绝望。要不要参加考公、考研、央国企这些的。有没有大佬可以帮帮我。为什么感觉别人找工作都是顺其自然的事情,我感觉自己每一步都在艰难追赶。八股文背了又忘背了又忘,我每次都花很长时间去理解他,可是现在感觉八股、项目都忘完了。真的已经没有力气再去学习了。图片是我的简历,有没有大哥可以指正一下,或者说我应该走哪条路,有点不想在找工作了。
码客明:太累了就休息一下兄弟,人生不会完蛋的
如果实习可以转正,你会不...
点赞 评论 收藏
分享
评论
8
9
分享

创作者周榜

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