度小满,后端,9.5号笔试

度小满9月5号笔试,Java后端。

20个选择,2个编程,15:00--16:30共一个半小时。

补充:赛码网,录屏开摄像头,没有牛客的手机小程序监控。编程题可以跳出界面,使用本地IDE,不受限制。


编程题

赖床的小满

  • 时间限制:3000MS
  • 内存限制:589824KB

题目描述:
冬天的被窝就如同磁铁一样,吸引着铁打的身体。
某天早上,小满由于前—天的修仙,想睡一个时间为k个单位的回笼觉。

老妈会在n个可能的时刻中等可能性地选择两个时刻来叫小满起床。
小满会在第一次被叫醒时开始睡回笼觉。如果老妈第二次来叫她起床时还在睡觉,老妈就会生气。

小满想让你帮她计算,老妈生气的概率。

输入描述:
第一行两个整数n,k (n<=10个5,k<=10^9)
第二行n个互不相同不大于10^9的整数,表示老妈可能来的时间。

输出描述:
输出一个最简分数(或者0/1,表示无论如何老妈都不会生气),表示老妈生气的概率。

样例输入:

3 1
1 2 3

样例输出:

2/3

太菜了,只过了18%。。。貌似是因为最后分数化简的问题,还有应该记忆一下的空间换时间。

貌似这么几个坑:排序,long类型,分数简化,循环break剪枝,二分搜索。。。

小A的治疗节奏

  • 时间限制: 3000MS
  • 内存限制: 589824KB

题目描述:
在xxxx年,小A成功研发出了一种新型疗法:节奏疗法。

节奏疗法是这样的:使用心跳节奏器来识别病人的心跳是否稳定,并在合适的时候按下节奏器上的按钮,来调节引导病人的心跳保持稳定。但是,在不合适的地方按下时,则可能会导致病情恶化。于是,医生在治疗的时候需要时刻保持专注。

在某一段时间内,病人的心跳节奏可以用OX来表示,其中O表示此时可以按下按钮或者不按,而X表示此时不能按下按钮。为了训练,小A找来m位医生,并给他们一段模拟的心跳节奏,之后小A得到了这m位医生各自的按键情况。小A找你帮忙写个程序,来判断哪些医生的按键是合法的。

输入描述:
第一行为只由OX组成的字符串,表示模拟的心跳节奏;
第二行一个正整数m;
接下来m行,每行一个只有0、1组成的字符串,表示该医生的按键情况。其中0表示此时未按键,1表示此时有按键。
设|S|表示心跳节奏的长度。
1 <= |S| <= 1000,1 <= m <= 450,所有的字符串长度相同。

样例输入:

OOXX
3
1111
1100
0100

样例输出:

NO
YES
YES

这个直接暴力,过了100%。放一下我丑陋的代码吧。

import java.util.ArrayList;
import java.util.Scanner;

/**
 * Created on 2021/9/5,下午 3:39
 * 小A的节奏疗法
 * @author SongX64
 */
public class Main2 {
    /**
     * O可以按也可以不按
     * X不能按
     **/
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        String xo = scanner.nextLine();
        Integer m = Integer.valueOf(scanner.nextLine());
        ArrayList<String> arrayList = new ArrayList<>(m);
        for (int i = 0; i < m; i++) {
            arrayList.add(scanner.nextLine());
        }

        // OOXX
        char[] xoChars = xo.toCharArray();
        boolean flag = true;

        for (int i = 0; i < arrayList.size(); i++) {
            // 1100
            char[] chars = arrayList.get(i).toCharArray();

            for (int j = 0; j < chars.length; j++) {
                // NO的情况
                if (xoChars[j] == 'X' && chars[j] != '0') {
                    System.out.println("NO");
                    flag = false;
                    break;
                }
            }
            if (flag) {
                System.out.println("YES");
            }
            flag = true;
        }
    }
}

写经验攒人品啊,求求老天了,给个offer吧,现在本菜鸡还是0Offer,进个面也行啊最近都没有公司来捞我面试QAQ

#度小满##笔试题目##笔经##秋招##Java##校招#
全部评论
我也是第一题18,第二题100.😫
1 回复 分享
发布于 2021-09-05 17:08
双A。第一题排序 + 二分;第二题:直接暴力
1 回复 分享
发布于 2021-09-05 17:20
兄弟我编程题得分和你一模一样
点赞 回复 分享
发布于 2021-09-05 17:08
我第一题直接输出样例0.27,第二题a了,主要是还得赶着四点去达达的笔试,都没来得及细想,感觉无了
点赞 回复 分享
发布于 2021-09-05 17:41
分数化简 int x = a,y = b,r;         if(a == b) {             System.out.println(1);             return;         }         while(y!=0) {             r = x%y;             x=y;             y=r;         }         a/=x;         b/=x;         System.out.println(a + "/" + b);
点赞 回复 分享
发布于 2021-10-26 13:23

相关推荐

10-24 11:10
山西大学 Java
若梦难了:哥们,面试挂是很正常的。我大中厂终面挂,加起来快10次了,继续努力吧。
点赞 评论 收藏
分享
评论
1
5
分享
牛客网
牛客企业服务