美团笔试题校招8-13代码

Java版仅供参考,ak

第一题

package Test1;

import java.util.*;

/**
 * @description:
 * @date: 2022-08-13
 **/

public class Main {
    public static void main(String[] args) {
        Scanner in =  new Scanner(System.in);
        int n, t;
        n = in.nextInt();
        t = in.nextInt();
        int[] a = new int[n];
        for(int i = 0; i < n; i++) {
            a[i] = in.nextInt();
        }
        Arrays.sort(a);
        long cur = 0, ans = 0;
        for(int i = 1; i < n; i++) {
            if(cur + t > a[i]) {
                ans++;
            } else {
                cur += t;
            }
        }
        System.out.println(ans);
    }
}

第二题

package Test2;


import java.util.Scanner;

/**
 * @description:
 * @date: 2022-08-13
 **/

public class Main {
    public static void main(String[] args) {
        Scanner in =  new Scanner(System.in);
        int n, m , k;
        n = in.nextInt();
        m = in.nextInt();
        k = in.nextInt();
        int[][]vis = new int[n][m];
        for (int i = 0; i < n; i++) {
            for (int j = 0; j < m; j++) {
                vis[i][j] = 0;
            }
        }
        vis[0][0]=1;
        String str = in.next();
        int x = 0, y = 0;
        int res = 1, ans = -1;
        //System.out.println(str);
        for(int i = 0; i < str.length(); i ++) {
            char c = str.charAt(i);
            if(c == 'W') {
                x--;
            }else if(c == 'S') {
                x++;
            }else if(c == 'A') {
                y--;
            } else {
                y++;
            }
            if(vis[x][y] == 0) {
                vis[x][y] = 1;
                res ++;
            }
            if(res == n * m) {
                ans = i + 1;
                break;
            }
        }
        if(res == n * m) {
            System.out.println("Yes");
            System.out.println(ans);
        } else {
            System.out.println("No");
            res = n * m -res;
            System.out.println(res);
        }
    }
}

第三题

package Test3;

import java.util.Deque;
import java.util.LinkedList;
import java.util.Scanner;

/**
 * @description:
 * @date: 2022-08-13
 **/

public class Main {

    public static void main(String[] args) {
        Scanner in =  new Scanner(System.in);
        int n; n = in.nextInt();
        int[] arr = new int[n];
        for (int i = 0; i < n; i++) {
            arr[i] = in.nextInt();
        }
        Deque<Integer> deque;
        deque = new LinkedList<>();
        for (int i = n - 1; i > -1 ; i--) {
            deque.addFirst(arr[i]);
            deque.addFirst(deque.pollLast());
            deque.addFirst(deque.pollLast());
        }
        for (Integer x: deque) {
            System.out.print(x + " ");
        }
    }
}

第四题

package Test4;


import java.util.*;

/**
 * @description:
 * @date: 2022-08-13
 **/

public class Main {
    // a[i] + a[k] == 3 * a[j]
    public static void main(String[] args) {
        Scanner in =  new Scanner(System.in);
        int n; n = in.nextInt();
        int[] arr = new int[n];
        for (int i = 0; i < n; i++) {
            arr[i] = in.nextInt();
        }
        int ans = 0;
        int[] cnt = new int[100007];
        for(int i = 0; i < n; i++) {
            Arrays.fill(cnt, 0);
            for (int k = i + 1; k < n; k++) {
                int j = arr[i] + arr[k];
                if(j % 3 == 0){
                    ans += cnt[j / 3];
                }
                cnt[arr[k]]++;
            }
        }
        System.out.println(ans);
    }
}

第五题

package Test5;

import java.util.Scanner;

/**
 * @description:
 * @date: 2022-08-13
 **/

public class Main {
    public static void main(String[] args) {
        Scanner in =  new Scanner(System.in);
        int n; n = in.nextInt();
        int[] arr = new int[n];
        for (int i = 0; i < n; i++) {
            arr[i] = in.nextInt();
        }
        int ans = arr[0];
        for (int i = 0; i < n; i++) {
            ans = Math.max(ans, arr[i]);
            if(i * 2 + 1 < n) {
                arr[i * 2 + 1] += arr[i];
            }

            if(i * 2 + 2 < n) {
                arr[i * 2 + 2] += arr[i];
            }
        }
        System.out.println(ans);
    }
}
#美团笔试题##美团##美团笔试##美团校招#
全部评论
第四题的写法是什么意思呀?没懂cnt[j / 3]++是什么意思
点赞
送花
回复
分享
发布于 2022-08-13 18:51
第五题是特工那题吗
点赞
送花
回复
分享
发布于 2022-08-13 18:43
秋招专场
校招火热招聘中
官网直投
你好,我扫地机器人那一题死活过不了,但我感觉我代码没问题,大佬可以帮忙看一下吗?
点赞
送花
回复
分享
发布于 2022-08-13 22:27
有无佬指点一下第三题😥太菜了没想出来
1
送花
回复
分享
发布于 2022-08-13 18:14
全a了吗
点赞
送花
回复
分享
发布于 2022-08-13 18:58

相关推荐

2 22 评论
分享
牛客网
牛客企业服务