2023 美团笔试题 0304

笔试时间:2023年3月4日 春招

第一题

题目:平滑值

小红定义一个数组的平滑值为:任意两个相邻元素的差的绝对值的最大值。例如:数组[2,4,3,3]的平滑值为|2-4|=2。小红希望你构造一个长度为n的排列,满足排列的平滑值等于k。你能帮帮她吗? 排列是指:长度为n的数组,1到n每个正整数都恰好出现1次。

输入描述

第一行输入两个正整数,分别表示n和k。其中,1≤k<n≤10^5

输出描述

输出n个数字,用空格隔开。输入 输出

样例输入

4 2

样例输出

1 3 2 4  

参考题解

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

#include <iostream>
#include <vector>
using namespace std;

int main() {
    int n, k;
    cin >> n >> k;

    vector<int> arr = {k + 1};
    for (int i = 1; i <= k; i++) {
        arr.push_back(i);
    }
    for (int j = k + 2; j <= n; j++) {
        arr.push_back(j);
    }

    for (int i : arr) {
        cout << i << " ";
    }
    
    return 0;
}

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

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

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        int k = sc.nextInt();

        ArrayList<Integer> arr = new ArrayList<>();
        arr.add(k + 1);
        for (int i = 1; i <= k; i++) {
            arr.add(i);
        }
        for (int j = k + 2; j <= n; j++) {
            arr.add(j);
        }

        for (int i : arr) {
            System.out.print(i + " ");
        }
    }
}

第二题

题目:p的倍数

小红拿到了一个正整数n,她可以进行若干次操作,每次操作将选择一个数位,使其加1或者减1。不过有两条限制:

1、每个数位最多只能操作一次。

2、如果选择的是9,则无法进行加1操作。如果选择的是0,则无法进行减1操作。

小红希望最终n成为p的倍数,你能帮小红输出操作结束后的整数n吗?

输入描述

两个正整数n和p。

1≤n,p≤10^13

输出描述

如果误解,请输出-1。假设有多解的时候,输出任意解即可。(如果操作包含前导零,请将前导零一起输出)

参考题解

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

#include <iostream>
#include <vector>
#include <string>
using namespace std;

int n, p;
vector<int> arr;
int ans = -1;

void dfs(int cur, int index) {
    if 

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

2023 秋招笔试题汇总解析 文章被收录于专栏

2023秋招各大笔试题汇总,c++,java,python多种语言分析,解答。

全部评论
去年的春招吗
点赞 回复 分享
发布于 2023-08-11 20:53 江苏
mark
点赞 回复 分享
发布于 2023-08-14 23:01 江苏
mark
点赞 回复 分享
发布于 2023-08-19 23:26 陕西
mark
点赞 回复 分享
发布于 2023-08-19 23:50 日本
mark
点赞 回复 分享
发布于 2023-08-19 23:59 俄罗斯
mark
点赞 回复 分享
发布于 2023-08-20 00:09 俄罗斯
mark
点赞 回复 分享
发布于 2023-08-20 01:34 日本
mark
点赞 回复 分享
发布于 09-13 14:54 广东

相关推荐

11-22 16:49
已编辑
北京邮电大学 Java
美团 质效,测开 n*15.5
点赞 评论 收藏
分享
ArisRobert:统一解释一下,第4点的意思是,公司按需通知员工,没被通知到的员工是没法去上班的,所以只要没被通知到,就自动离职。就是一种比较抽象的裁员。
点赞 评论 收藏
分享
评论
9
23
分享
牛客网
牛客企业服务