京东笔试 京东笔试题 0817

笔试时间:2024年08月17日

历史笔试传送门:2023秋招笔试合集

第一题

题目

村子里有一些桩子,从左到右高度依次为1,1+2,1+2+3…,每两颗桩子之间的间隔为1.现在下了一场大雪,但是不知道雪下了多厚,现在给你两个数字,这是雪后某相邻两个桩子在雪面的高度,请你通过这两个数字计算雪的厚度。

输入描述

在一行中输入两个正整数a,b

1≤a<b≤5*10^5

输出描述

在一行中输出一个整数代表雪的厚度。我们可以证明,答案一定存在。

样例输入一

8 13

样例输出一

2

样例输入二

10 15

样例输出二

0

参考题解

模拟。算出两个柱子a, b之间的差值c,下雪前b柱子的高度 :1 + 2 + 3 + ... + c。减去b柱子下雪前的高度就是雪的厚度。

C++:[此代码未进行大量数据的测试,仅供参考]

#include <iostream>
#include <cstring>
#include <algorithm>
using namespace std;

int main()
{
    int a, b;
    cin >> a >> b;
    int c = b - a;
    int sum = (c + 1) * c / 2;
    cout << sum - b;
    return 0;
}

Java:[此代码未进行大量数据的测试,仅供参考]

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        
        int a = scanner.nextInt();
        int b = scanner.nextInt();
        
        int c = b - a;
        int sum = (c + 1) * c / 2;
        
        System.out.println(sum - b);
        
        scanner.close();
    }
}

Python:[此代码未进行大量数据的测试,仅供参考]

a = int(input())
b = int(input())

c = b - a
sum_value = (c + 1) * c // 2

print(sum_value - b)

第二题

题目

牛牛有一种锯齿状的积木,这种积木比较长,但是每个单位长度的高度是相等的,高度为1或者2。现在牛牛拿出了两块长度分别为n 和 m 的积木,她现在想把这两块积木拼接在一起,即使中间有空隙也没有关系。但是拼接后的积木的高度要不超过 3,请你帮助牛牛计算在满足这个前提下拼接后的积木的长度最短可以是多少。

输入描述

第一行给出两个正整数 n,m,代表第一块和第二块积木的长度;

第二行给出 n 个数字代表第一块积木每个单位的高度;

第三行给出 m 个数字代表第二块积木每个单位的高度;

输出描述

在一行中输出一个正整数代表拼接后积木的最短长度。

样例输入一

7 10

2212112

2112112112

样例输出一

10

样例输入二

3 2

222

22

样例输出二

5

参考题解

C++:[此代码未进行大量数据的测试,仅供参考]

#include <iostream>
#include <cstring>
#include <algorithm>
using namespace std;

int main()
{
    int n, m;
    cin >> n >> m;
    string sn, sm;
    cin >> sn >> sm;

    int res = m + n;
    
    for(int j = - m; j < n; j ++)   //枚举要匹配的起始点
    {
        int idxm = j;
        int cnt = 0; //cnt表示两个字符串重叠之后小于等于3的长度
        bool flag = true;
        int idxn = j > 0 ? j: 0;   //sn字符串的匹配起点
        
        for(int i = j; i < j + m; i ++)  //sm字符串匹配
        {
            if(i < 0) continue;
            if(idxn >= n) break;
            if(sn[idxn] - '0' + sm[i - j] - '0' > 3){
                flag = false;
                break;
            }
            idxn ++;
            cnt ++;
        }
        if(flag)  res = min(res, m + n - cnt);
    }
    cout << res;
    return 0;
}

Java:[此代码未进行大量数据的测试,仅供参考]

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        
        int n = scanner.nextInt();
        int m = scanner.nextInt();
        scanner.nextLine();  // 消耗换行符
        
        String sn = scanner.nextLine();
        String sm = scanner.nextLine();
        
        int res = m + n;
        
        for(int j = -m; j < n; j++) {  // 枚举要匹配的起始点
            int idxm = j;
            int cnt = 0; // cnt表示两个字符串重叠之后小于等于3的长度
            boolean flag = true;
            int idxn = j > 0 ? j : 0;  // sn字符串的匹配起点
            
            for(int i = j; i < j + m; i++) {  // sm字符串匹配
                if(i < 0) continue;
                if(idxn >= n) break;
                if((sn.charAt(idxn) - '0') + (sm.charAt(i - j) - '0') > 3) {
                    flag = false;
                    break;
                }
                idxn++;
                cnt++;
            }
            if(flag) {
                res = Math.min(res, m + n - cnt);
            }
        }
        System.out.println(res);
        

剩余60%内容,订阅专栏后可继续查看/也可单篇购买

2024 BAT笔试合集 文章被收录于专栏

持续收录字节、腾讯、阿里、美团、美团、拼多多、华为等笔试题解,包含python、C++、Java多种语言版本,持续更新中。

全部评论

相关推荐

04-19 18:50
已编辑
长沙学院 Java
个人背景:学院二本计科专业&nbsp;大二开始实习个人经历:安克创新&nbsp;、理想汽车、字节跳动碎碎念:我做事只有三分钟热度。看到进了大厂的同学,我会羡慕,也会跟着努力上进;但遇到好看的小说,我又会放下手头的事沉迷其中,之前的坚持也就中断了。我有些自卑,总觉得自己学历和外貌都不够好。之前偶然在网上受到关注,我就喜欢上了上网,因为这里有很多人认可我。但我也很在意别人的评价,偶尔看到嘲讽的言论,会触发我的自卑情绪,让我感到愤怒。有时候我会强硬地回怼,有时候又会懦弱地选择无视。我也有虚荣心。不管是拿到安克、理想还是字节的机会,我在分享的时候都会带着这份心思。我会特意强调自己学历不好,是为了衬托出过程的艰难,以此显得自己更厉害。我知道,人往往会炫耀自己缺少的东西,来掩盖内心的空洞。我总想着走捷径,不太喜欢踏踏实实地做事。找实习的时候,我花了更多时间在研究面试技巧上,而不是提升专业能力。我会反复听面试录音分析技巧,看面试教程学习怎么和不同的面试官沟通,还会每天自言自语练习语言表达,同学都觉得我有点奇怪。我的实习生涯里,侥幸和运气占了很大一部分。我总在想,如果有一天我失去了这份幸运,这些特质可能会让我一蹶不振。ps:&nbsp;很多人会问我学习路线和经验&nbsp;但是就像我上面说的&nbsp;我的实习过程靠的很多是关键节点的运气&nbsp;技术上面我可能不如很多人&nbsp;&nbsp;所以请大家理性求助和理性参考我的回答&nbsp;附上我的投递记录
我的offer在哪里...:从去年看到现在,飞升哥就是榜样
我的求职进度条
点赞 评论 收藏
分享
评论
2
9
分享

创作者周榜

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