8/8 美团测开笔试题目

基本都被卡64%通过率。。。
题目一:输入nMax个数的数组, 找恰好有num个数大于的一个阈值。可能有重复数字
import java.util.Arrays;
import java.util.Scanner;

public class meituan1 {


    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int n = scanner.nextInt();
        for(int i = 0;i < n;i ++){
            int nMax = scanner.nextInt();
            int num = scanner.nextInt();
            int[] ints = new int[nMax];
            for(int j = 0 ;j < nMax;j ++){
                ints[j] = scanner.nextInt();
            }
            int i1 = find(ints, nMax, num);
            if(i1 == -1){
                System.out.println("NO");
            }else{
                System.out.println("YES");
                System.out.println(i1);
            }
        }


    }

    private static int find(int[] ints, int nMax, int num) {
        int res = -1;
        if(ints.length < 0){
            return  res;
        }else{
            Arrays.sort(ints);
            int count = 1;
            for(int i = 1;i < ints.length; i++){
                count ++;

                if (count == nMax ){
                    break;
                }

                if(count == num ){
                    if(i+1 < ints.length && ints[i + 1] != ints[i]){
                        res = ints[i]+1;
                    }else if(i == ints.length - 1){
                        res = ints[i]+1;
                    }

                }


            }
        }
        return res;
    }
}

题目二:清洗数组,清洗掉空格和紧挨着的重复字符
package com.mianshi;

import java.util.Scanner;

public class meituan2 {

    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        String next = scanner.nextLine();
        String replace = next.replace(" ", "");
        System.out.println(replace);
        if(replace.length() == 1){
            System.out.println(replace);
        }else {
            for (int i = 1; i < replace.length();) {
                if (replace.charAt(i) == replace.charAt(i - 1)){

                    replace = replace.substring(0,i) + replace.substring(i+1,replace.length());

                }else{
                    i ++ ;
                }
            }
            System.out.println(replace);
        }

    }
}

题目三:输入一个数组ints,根据这个数组生成一个新的数组dp,i位置的数值是不大于ints[i]的前1~i的最大的那个数,求新数组的dp[i]*i 之和,i=1 ~n

package com.mianshi;

import java.util.Scanner;

public class meituan3 {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int n = scanner.nextInt();
        int[] ints = new int[n + 1];
        int[] dp = new int[n+1];
        long res = 0;
        for(int i = 1;i <= n;i ++){
            ints[i] = scanner.nextInt();
        }
        for(int j = 1;j <= n; j++){
            for(int k = 0 ;k < j;k++){
                if(ints[k] < ints[j]){
                dp[j] = Math.max(dp[j],ints[k]);}
            }

            res += dp[j]*j;
        }
        System.out.println(res);
    }
}
题目四:将一个数组左半和右半变成一样的操作数。
package com.mianshi;

import java.util.Scanner;

public class meituan4 {


    public static void main(String[] args) {

        Scanner scanner = new Scanner(System.in);
        int n = scanner.nextInt();
        int[] ints1 = new int[n/2];
        int[] ints2 = new int[n/2];
        int res = 0;
        for(int i = 0;i < n;i ++){
            if(i < n/2){
                ints1[i] = scanner.nextInt();
            }else{
                ints2[i - n/2] = scanner.nextInt();
            }
        }
        for(int i = 0;i < n/2;i ++){
            if (ints1[i] != ints2[i]){
                res ++;
            }
        }
        System.out.println(res);
    }
}
题目五:设计一个测试用例,测试用户密码的登陆功能。
#美团笔试##笔经##美团##测试开发工程师#
全部评论
lz投的哪里呀
点赞
送花
回复 分享
发布于 2021-08-09 23:18
楼主约面了嘛
点赞
送花
回复 分享
发布于 2021-08-13 13:05
秋招专场
校招火热招聘中
官网直投

相关推荐

#简历#先说一说我自己的想法,很多人都很排斥苍穹外卖,认为没什么技术点和含金量,但实际上我觉得恰恰相反,苍穹外卖虽然代码本身并不是你自身能力的证明,但是是作为一个新人学习时很好的跳板和原始框架,在这个框架上进行的改进可以很好的辐射到你自己的个人成果上,并作为你和面试官聊天的筹码大多数人的苍穹外卖只写增删改查,千篇一律,吸引不了面试官,所以这才让大家误以为只要是苍穹外卖就不要写进简历里这种误区,但实际上如果你在原有的层面上进行改进,并作为你的项目亮点和面试官介绍,告诉他你的苍穹外卖和别人的有什么不同,增加了哪些技术难点,这才显得你是完全自己理解了这个项目,并且有自己动手实践项目的能力,而不是就看了个课程就以为自己会了,就当成自己的了,如此一来,这反而成为你的加分项苍穹外卖为什么看的人最多,说明它好啊,如果它不好,为什么看的人还这么多,想清楚这个逻辑,我觉得要做的最重要的事,就是如何在原有框架上进行改进提效,比起听其他人的话重新搞一个项目性价比高得多,而且我亲测项目并没有成为我找到工作的阻碍,我投的大厂一大半都给我面试了,而且很多不止一个部门,退一万步说,当你手头没有其他项目的时候,有苍穹外卖总比什么都没有的好很多,不需要因为苍穹外卖有任何心理负担关于简历的任何部分都欢迎大家提意见,十分感谢大家,祝大家找实习+秋招顺利上岸,offer拿到手软#简历中的项目经历要怎么写##我的上岸简历长这样##最后再改一次简历##简历##简历被挂麻了,求建议#
点赞 评论 收藏
分享
人醒着就会困:直接回答,"你刚才提到你是百度JAVA,那么你相对于字节JAVA的优势在哪里?"
点赞 评论 收藏
分享
3 26 评论
分享
牛客网
牛客企业服务