牛客网——美团2024届秋招笔试第三场编程真题

news2024/12/22 2:25:06

牛客网——美团2024届秋招笔试第三场编程真题

  • 😍😍😍 相知
  • 🙌🙌🙌 相识
  • 😢😢😢 开始刷题
    • 1. 平均数为k的最长连续子数组
    • 2. 小球投盒
    • 3. 小红结账
    • 4. 小美的游戏
    • 5. 小美种果树
    • 6. 小美的数组重排
    • 7. 判断ip地址是否合法

在这里插入图片描述

😍😍😍 相知

刷题不要一上来就直接干,先看题,明白题说的什么意思,然后想一下用什么现成的算法和数据结构可以快速解决,如果还是无从下手,建议先去看视频,不要直接翻评论或官方代码实现,看完视频,自己在idea中模拟敲几遍代码,如果跑通了,先别急着上leetcode黏贴,而是再回顾一下要点,然后确定自己完全懂了后,在leetcode中手敲,注意是手敲下来!!! 目前我就是采用的这种方法,虽然慢,但是可以维持一周忘不掉它,如果要想长期不忘,只能隔段时间就review一下了,就算是大牛,知道方法,长时间不碰,也不可能保证一次到位把代码敲完一遍过!!!

🙌🙌🙌 相识

本阶段我们要一起学习的是美团2024届秋招笔试第三场编程真题!!!

😢😢😢 开始刷题

1. 平均数为k的最长连续子数组

在这里插入图片描述

import java.util.*;

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        int k = sc.nextInt();
        int ans = -1;
        long pre = 0, cur=0;
        Map<Long, Integer> map = new HashMap<>();
        map.put(0L, 0);
        for (int i = 1; i <= n; i++) {
            cur = pre + sc.nextInt() - k;
            if (map.containsKey(cur)) ans = Math.max(ans, i - map.get(cur));
            else map.put(cur, i);
            pre = cur;
        }
        System.out.println(ans);
        

    }
}

2. 小球投盒

在这里插入图片描述

import java.util.*;

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        int a = in.nextInt();
        int b = in.nextInt();
        HashSet<Integer> hashset = new HashSet<>();
        for(int i = 1;i<=a;i++){
            hashset.add(i);
        }
        for(int i = 0;i < b;i++){
            int left = in.nextInt();
            int right = in.nextInt();
            if(left == 1){
                if(hashset.contains(right)){
                    hashset.remove(right);
                }
                if(hashset.size()==0){
                    System.out.print(i+1);
                    return;
                }
            }
            else{
                if(!hashset.contains(right)){
                    System.out.print(i+1);
                    return;
                }
                hashset = new HashSet<>();
                hashset.add(right);
            

            }
        }
        System.out.print(-1);
        
    }
}

3. 小红结账

在这里插入图片描述

import java.util.*;

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        // 注意 hasNext 和 hasNextLine 的区别
        int n = in.nextInt();
        int m = in.nextInt();
        ArrayList<Long> arraylist = new ArrayList<>();
        for(int i = 0;i<m;i++){
            arraylist.add(0l);
        }
        for(int i  = 0;i<n;i++){
            //每张账单
            int people = in.nextInt();
            int money = in.nextInt();
            long fenmony = (long)Math.ceil(money*1.0/(people));
            for(int j = 0;j<people-1;j++){
                int who = in.nextInt();
                arraylist.set(who-1,fenmony+(long)arraylist.get(who-1));
            }
        }
        for(int i = 0;i<arraylist.size();i++){
            System.out.print(arraylist.get(i));
            if(i!=arraylist.size()-1) System.out.print(" ");
        }
    }
}

4. 小美的游戏

在这里插入图片描述

    import java.util.*;   
 
   
    // 注意类名必须为 Main, 不要有任何 package xxx 信息   
   
    public class Main {   
   
        public static void main(String[] args) {   
 
   
            long mod = 1000000007;   
            Scanner in = new Scanner(System.in);   
            int len = in.nextInt();   
            int max_op = in.nextInt();   
            long res = 0L;   
            long sum = 0L;   
            long[] a = new long[len];   
            for(int i=0;i<len;i++){   
                a[i] = in.nextInt();   
            }   
            Arrays.sort(a);   
            int idx = len-1;   
            for(int j=1;j<=max_op;j++){   
                if(a.length>=2){   
                    long mul = (a[idx] * a[idx-1])%mod;   
                    a[idx-1] = mul;   
                    a[idx] = 1;   
                    idx = idx - 1;   

                }else{   
                    res = Math.max(res, a[0]);   
                    break;   
   
                }   
            }   
   
            for(int j=0;j<len;j++){   
                sum = sum + a[j];   
            }   
            res = Math.max(res,sum%mod);   
            System.out.print(res);   
   
        }   
   
    }   

5. 小美种果树

在这里插入图片描述

import java.util.Scanner;

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        int x = in.nextInt();
        int y = in.nextInt();
        int z = in.nextInt();
        int index = 0;
        //模拟???
        while(true){
            index++;
            z -=x;
            z -=y; 
            if(z<=0)break;
            index++;
            z -=x;
            if(z<=0)break;
            index++;
            z -=x;
            if(z<=0)break;
        }
        System.out.print(index);

    }
}

6. 小美的数组重排

在这里插入图片描述

import java.util.*;

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        int q = in.nextInt();
        for (int i = 0; i < q; i++) {
            int n = in.nextInt();
            int m = in.nextInt();
            int [] a = new int[n];
            for (int j = 0; j < n; j++) {
                a[j] = in.nextInt();
            }
            int [] b = new int[n];
            for (int j = 0; j < n; j++) {
                b[j] = in.nextInt();
            }
            Arrays.sort(a);
            Arrays.sort(b);
            int[] reversedArray = new int[n];
            for (int j = 0; j < n; j++) {
                reversedArray[j] = b[n - 1 - j];
            }
            boolean flag = false;
            for(int j = 0;j<n;j++){
                if(a[j]+reversedArray[j]<1||a[j]+reversedArray[j]>m){
                    System.out.println("No");
                    //if(i!=n-1)System.out.println();
                    flag = true;
                    break;
                }
            }
            if(!flag){
                 System.out.println("Yes");
                 //if(i!=n-1)System.out.println();
            }
            
        }

    }
}

7. 判断ip地址是否合法

在这里插入图片描述

import java.util.Scanner; // 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        String addStr = scanner.nextLine();
        //非空
        if (addStr.equals("") || addStr == null) {
            System.out.println("invalid");
            return;
        }
        char c1 = addStr.charAt(0);
        char c2 = addStr.charAt(addStr.length() - 1);
        //4.IP地址不能以点号开始或结束,例如.192.168.0.1和192.168.0.1.是非法的。
        String s1 = Character.toString(c1);
        String s2 = Character.toString(c2);
        String[] strings = new String[] { "1", "2", "3", "4", "5", "6", "7", "8", "9", "0"  };
        int temp = 0;
        for (String string : strings) {
            if (string.equals(s1)) {
                temp++;
            }
            if (string.equals(s2)) {
                temp++;
            }
        }
        if (temp != 2) {
            System.out.println("invalid");
            return;
        }
        //1.IP地址由四个数字组成,用点号分隔。
        String[] split = addStr.split("\\.");
        if (split.length != 4) {
            System.out.println("invalid");
            return;
        }
        //3.数字之间没有多余的前导零,例如01是非法的。
        for (String s : split) {
            if (s.length() == 2 && Character.toString(s.charAt(0)).equals("0")) {
                System.out.println("invalid");
                return;
            }
        }

        for (int i = 0; i < split.length; i++) {
            //2.每个数字的取值范围是0到255。
            try {
                if (Integer.parseInt(split[i]) > 255) {
                    System.out.println("invalid");
                    return;
                }
            } catch (NumberFormatException e) {
                System.out.println("invalid");
                return;
            }
        }
        int address1 = Integer.parseInt(split[0]);
        int address2 = Integer.parseInt(split[1]);
        int address3 = Integer.parseInt(split[2]);
        int address4 = Integer.parseInt(split[3]);
        if (address1 < 126 && address1 > 0 || address1 == 126 && address2 == 0 &&
                address3 == 0 && address4 == 0) {
            System.out.println("A_address");
        } else if (address1 >= 128 && address1 <= 191) {
            System.out.println("B_address");
        } else if (address1 >= 192 && address1 <= 223) {
            System.out.println("C_address");
        } else {
            System.out.println("other");
        }
    }
}


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1501481.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

并查集(蓝桥杯 C++ 题目 代码 注解)

目录 介绍&#xff1a; 模板&#xff1a; 题目一&#xff08;合根植物&#xff09;&#xff1a; 代码&#xff1a; 题目二&#xff08;蓝桥幼儿园&#xff09;&#xff1a; 代码&#xff1a; 题目三&#xff08;小猪存钱罐&#xff09;&#xff1a; 代码&#xff1a; …

设计模式-行为型模式-职责链模式

在软件系统运行时&#xff0c;对象并不是孤立存在的&#xff0c;它们可以通过相互通信协作完成某些功能&#xff0c;一个对象在运行时也将影响到其他对象的运行。行为型模式&#xff08;Behavioral Pattern&#xff09;关注系统中对象之间的交互&#xff0c;研究系统在运行时对…

应用内存分析

adb shell cat /proc/meminfo 命令&#xff0c;查看剩余的空间还有多少&#xff0c;通常的系统剩余空间是: MemFree cached 1.衡量标准参数 VSS(Virtual set Size)&#xff1a;虚拟内存耗用&#xff08;包括共享库占用的内存&#xff09; RSS(Resident set Size)&#xff1…

js判断页面是否是在iframe里面

文章目录 一、前言1.1、_blank跳转1.2、_self跳转 二、方法2.1、判断子项目是否是在iframe内部2.2、实现_self跳转 三、最后 一、前言 上面是父前端项目里的iframe加载了子前端项目的页面。此时如果点击子项目的内容&#xff0c;如果要进行父项目浏览器页面跳转&#xff0c;可以…

社区医院智慧管理:Java+SpringBoot新实践

✍✍计算机编程指导师 ⭐⭐个人介绍&#xff1a;自己非常喜欢研究技术问题&#xff01;专业做Java、Python、微信小程序、安卓、大数据、爬虫、Golang、大屏等实战项目。 ⛽⛽实战项目&#xff1a;有源码或者技术上的问题欢迎在评论区一起讨论交流&#xff01; ⚡⚡ Java实战 |…

斐讯N1 刷coreelec 笔记

1.下载恩山的镜像 下载好后不需要刷优盘 这个很方便&#xff0c;可以勾选擦除flash &#xff08;如果第一次装&#xff09; 升级可以不用勾选 详细使用参考恩山大佬的描述 2.下载插件 想装openwrt 发现镜像里面 coreelec-addons 挂了&#xff0c;研究了好长时间可以 去githu…

智慧城市中的数字孪生:构建城市管理的未来框架

目录 一、引言 二、数字孪生技术概述 三、数字孪生技术在智慧城市中的应用 1、实时监测与预警 2、模拟与优化 3、智能化决策 4、协同与共享 四、数字孪生技术构建城市管理的未来框架的价值 1、提高管理效率 2、优化资源配置 3、提升公共服务水平 4、增强应对突发事…

【学习笔记】微信运营工具

办公工具 在线 http://uzer.meMindMaster即刻&#xff08;APP&#xff09;收趣&#xff08;APP&#xff09;MindMaster&#xff08;app&#xff09; 安装 文字工具 Mega Emoji 文字云 石墨文档 giftools 音频工具 变声实验室&#xff08;APP&#xff09; 录音APP&am…

【完美实现】VITE + VUE3 + SVG图片解析+element-plus开发环境初始化(基于macos)

一、最终效果 废话少说&#xff0c;直接上效果 这是我的初始化程序提供的页面&#xff0c;在这个页面上实现了一下几个功能&#xff1a; 1、vite初始化之后的路由安装和初始化&#xff1b; 2、标准SVG的解析&#xff0c;并可调整大小、颜色&#xff1b; 3、element-plus的安…

不允许你不知道Python函数的返回值

函数可以通过return一次性返回多个数据&#xff0c;返回的数据以元组的形式保存。函数中若出现了return&#xff0c;return后面的程序不会执行。若函数中需要将某些数据返回&#xff0c;使用关键字return。若return后面没有返回任何数据&#xff0c;仅仅表示结束程序&#xff0…

lqb省赛日志[2/37]

一只小蒟蒻备考蓝桥杯的日志 文章目录 笔记&#xff01;lqb不能用to_string和atoi历史遗留问题1 刷题心得小结 笔记 &#xff01;lqb不能用to_string和atoi 有替代方法 参考 不使用C 11的整数转字符串 C语言提供了一种方法。 #include sstream &#xff08;我没学&#xff0…

高级语言讲义2011计专(仅高级语言部分)

1.某公司采用公用电话传递数据&#xff0c;数据是四位的整数&#xff0c;为了安全。在传递过程中数据是加密的。加密规则如下&#xff0c;每位数字加5,然后用和除以10的余数代替该数字&#xff0c;再将第一位和第四位交换&#xff0c;第二位和第三位交换&#xff0c;编一程序&a…

Redis的介绍与使用

文章目录 Redis简介安装RedisRedis常用命令全局命令String类型数据Hash哈希类型数据List列表类型数据Set集合类型数据SortedSet有序集合类型数据 一些选择题一些选择题 Redis简介 Redis是一款基于键值对的NoSQL数据库&#xff0c;它的值支持多种数据结构&#xff1a; 字符串(s…

Gartner对未来5年全球信息安全和风险管理市场的预测分析:影响市场的四大因素及对相关产品市场的影响

到 2023 年&#xff0c;信息安全和风险管理市场的最终用户支出将增长至 1850 亿美元&#xff08;现价美元&#xff09;&#xff0c;货币稳定增长率为 13.4%。到2027年&#xff0c;市场规模将达到2870亿美元&#xff0c;按固定汇率计算&#xff0c;2022年至2027年的复合年增长率…

使用MyBatis完成CRUD

Insert Map <mapper namespace"car"><!--insert sql&#xff1a;保存一个汽车信息--><insert id"insertCar">insert into t_car(id,car_num,brand,guide_price,produce_time,car_type)values(null,102,丰田mirai,40.30,2014-10-05,氢能…

Java中的优先队列PriorityQueue如何排序

目录 一、基本数据类型的排序 &#xff08;1&#xff09;升序 &#xff08;2&#xff09;降序 二、自定义类型如何排序 &#xff08;1&#xff09;升序 &#xff08;2&#xff09;降序 既然大家想要了解优先队列的排序&#xff0c;那么说明已经知道什么事优先队列了&…

鸿蒙Harmony应用开发—ArkTS声明式开发(基础手势:Blank)

空白填充组件&#xff0c;在容器主轴方向上&#xff0c;空白填充组件具有自动填充容器空余部分的能力。仅当父组件为Row/Column/Flex时生效。 说明&#xff1a; 该组件从API Version 7开始支持。后续版本如有新增内容&#xff0c;则采用上角标单独标记该内容的起始版本。 子组件…

【前端Vue】社交信息头条项目完整笔记第1篇:一、项目初始化【附代码文档】

社交媒体-信息头条项目完整开发笔记完整教程&#xff08;附代码资料&#xff09;主要内容讲述&#xff1a;一、项目初始化使用 Vue CLI 创建项目,加入 Git 版本管理,调整初始目录结构,导入图标素材。二、登录注册准备,实现基本登录功能,登录状态提示,表单验证。三、个人中心&am…

蓝桥杯练习题——归并排序

1.火柴排队 思路 1.求最小值的时候&#xff0c;可以直接按升序排序&#xff0c;这样得到的值就是最小值 2.求最小交换次数的时候&#xff0c;不能直接排序&#xff0c;因为只能交换相邻的数&#xff0c;只需要知道他们的相对大小&#xff0c;所以可以先用离散化&#xff0c;把…

打造禹州中医药大模型,以AI驱动业务创新(内附孙思邈GPT内测版)

大禹智库 第78 期&#xff08;总第409 期&#xff09; 2024年 3 月 4 日 在中医药传承与发展的关键时期&#xff0c;结合许昌市的地域特色和产业优势&#xff0c;大禹智库提出“打造禹州中医药大模型&#xff0c;以AI驱动业务创新”的战略构想。本报告围绕构建禹州中医药现代化…