当前位置: 首页 > news >正文

美团2025春招第一次笔试题

第四题

题目描述

塔子哥拿到了一个大小为的数组,她希望删除一个区间后,使得剩余所有元素的乘积未尾至少有k个0。塔子哥想知道,一共有多少种不同的删除方案?

输入描述

第一行输入两个正整数 n,k

第二行输入n个正整数 a_i,代表塔子哥拿到的数组

1<=n , k<= 10e5
1<= a_i<=10e9

输出描述

一个整数,代表删除的方案数

在这里插入图片描述

思路

数论+双指针

package meituan.chun2025_1;import java.util.Scanner;public class Main4 {public static void main(String[] args) {Scanner in = new Scanner(System.in);int n = in.nextInt();int k = in.nextInt();int[] nums = new int[n];long time_2 = 0,time_5 = 0;int now;for(int i=0;i<n;i++){nums[i] = in.nextInt();now = nums[i];while(now>=5&&now%5==0){now/=5;time_5++;}while(now>=2&&now%2==0){now/=2;time_2++;}}int left = 0;long result = 0;long now_time_2 = 0,now_time_5 =0;for(int i=0;i<n;i++){now = nums[i];while(now>=5&&now%5==0){now/=5;now_time_5++;}while(now>=2&&now%2==0){now/=2;now_time_2++;}long zero_now = Math.min(time_5-now_time_5,time_2-now_time_2);while(left<=i&&left<n&&zero_now<k){now = nums[left++];while(now>=5&&now%5==0){now/=5;now_time_5--;}while(now>=2&&now%2==0){now/=2;now_time_2--;}zero_now = Math.min(time_5-now_time_5,time_2-now_time_2);}result+=i-left+1;}System.out.println(result);}
}

第五题

题目描述

在这里插入图片描述

输入描述

在这里插入图片描述

输出描述

在这里插入图片描述

在这里插入图片描述

思路

在这里插入图片描述

package meituan.chun2025_1;import java.util.*;class UnionFind {private int[] parent;private int[] size;private int count;public UnionFind(int n) {this.parent = new int[n];this.size = new int[n];this.count = n;for (int i = 0; i < n; i++) {parent[i] = i;size[i] = 1;}}public int find(int p) {while (p != parent[p]) {parent[p] = parent[parent[p]];p = parent[p];}return p;}public void union(int p, int q) {int rootP = find(p);int rootQ = find(q);if (rootP == rootQ) {return;}if (size[rootP] > size[rootQ]) {parent[rootQ] = rootP;size[rootP] += size[rootQ];} else {parent[rootP] = rootQ;size[rootQ] += size[rootP];}count--;}public int getCount() {return count;}
}
class Function{public void Add(HashMap<Integer,HashSet<Integer>>  is_exist,int x, int y){int source = Math.max(x,y);int target = Math.min(x,y);HashSet<Integer> now_set = is_exist.getOrDefault(source,new HashSet<Integer>());now_set.add(target);is_exist.put(source,now_set);}public boolean isExist(HashMap<Integer,HashSet<Integer>>  is_exist,int x, int y){int source = Math.max(x,y);int target = Math.min(x,y);HashSet<Integer> now_set = is_exist.getOrDefault(source,new HashSet<Integer>());if (now_set.isEmpty())return false;if (!now_set.contains(target))return false;return true;}public void Remove(HashMap<Integer,HashSet<Integer>>  is_exist,int x, int y){int source = Math.max(x,y);int target = Math.min(x,y);HashSet<Integer> now_set = is_exist.get(source);now_set.remove(target);}
}
public class Main5 {public static void main(String[] args) {Scanner in = new Scanner(System.in);int n = in.nextInt();int m = in.nextInt();int q = in.nextInt();int[][] relation = new int[m][2];UnionFind solution = new UnionFind(n+1);Function function = new Function();HashMap<Integer,HashSet<Integer>>  is_exist = new HashMap<>();HashMap<Integer,HashSet<Integer>>  is_forget = new HashMap<>();//input relationfor(int i=0;i<m;i++){int x = in.nextInt();int y = in.nextInt();relation[i][0] = x;relation[i][1] = y;function.Add(is_exist,x,y);}//input opint[][] op = new int[n][3];for(int i=0;i<q;i++){op[i][0] = in.nextInt();op[i][1] = in.nextInt();op[i][2] = in.nextInt();if(op[i][0]==1)function.Add(is_forget,op[i][1],op[i][2]);}// add unionfor(int i=0;i<m;i++){if (!function.isExist(is_forget,relation[i][0],relation[i][1]))solution.union(relation[i][0],relation[i][1]);}Deque<Boolean> result = new LinkedList<>();for(int i=q-1;i>=0;i--){int[] now = op[i];if (now[0]==1){if (!function.isExist(is_exist,now[1],now[2]))continue;function.Remove(is_exist,now[1],now[2]);solution.union(now[1],now[2]);}else{result.offerFirst(solution.find(now[1])==solution.find(now[2]));}}while(!result.isEmpty()){boolean now = result.pollFirst();if (now)System.out.println("Yes");elseSystem.out.println("No");}}}

相关文章:

美团2025春招第一次笔试题

第四题 题目描述 塔子哥拿到了一个大小为的数组&#xff0c;她希望删除一个区间后&#xff0c;使得剩余所有元素的乘积未尾至少有k个0。塔子哥想知道&#xff0c;一共有多少种不同的删除方案? 输入描述 第一行输入两个正整数 n,k 第二行输入n个正整数 a_i&#xff0c;代表…...

用游戏面试应聘者的方法

用游戏面试应聘者的方法 例如使用俄罗斯方块来面试&#xff0c;如果对方对这个游戏没有兴趣&#xff0c;或者是游戏结果不够好&#xff0c; 那么可以肯定的是&#xff0c;这个人做不好文物修复的工作。 象棋或者是围棋之类的棋类下得好的人&#xff0c;一般来说&#xff0c;做…...

C#,老鼠迷宫问题的回溯法求解(Rat in a Maze)算法与源代码

1 老鼠迷宫问题 迷宫中的老鼠,作为另一个可以使用回溯解决的示例问题。 迷宫以块的NN二进制矩阵给出,其中源块是最左上方的块,即迷宫[0][0],目标块是最右下方的块,即迷宫[N-1][N-1]。老鼠从源头开始,必须到达目的地。老鼠只能朝两个方向移动:向前和向下。 在迷宫矩阵…...

c语言: 输出几个数的和

输出几个数的和 任务描述 编程输入最少1个最多不超过4个整数&#xff0c;输出他们的和。 输入样例1&#xff1a;5 6 7 8 输出样例1&#xff1a;26 输入样例2&#xff1a;1 5 输出样例2&#xff1a;6 输入样例3&#xff1a;1 5 4 输出样例3&#xff1a;10 输入样例4&#xff…...

liteIDE 解决go root报错 go: cannot find GOROOT directory: c:\go

liteIDE环境配置 我使用的liteIDE为 x36 5.9.5版本 。在查看–>选项 中可以看到 LiteEnv&#xff0c;双击LiteEnv &#xff0c;在右侧选择对应系统的env文件&#xff0c;我的是win64系统&#xff0c;所以文件名为win64.env 再双击 win64.env &#xff0c;关闭当前窗口&…...

力扣_动态规划1—买卖股票的最佳时机

题目 给定一个数组&#xff0c;它的第 i 个元素是一支给定的股票在第 i 天的价格。 设计一个算法来计算你所能获取的最大利润。你最多可以完成 两笔 交易。 注意&#xff1a;你不能同时参与多笔交易&#xff08;你必须在再次购买前出售掉之前的股票&#xff09;。 方法—动态…...

苍穹外卖问题记录(持续更新)

Day01_3.2.4前后端联调 1. 前端无法登录 &#xff08;1&#xff09;确保nginx服务器已经启动 &#xff08;2&#xff09;查看自己数据库的用户名和密码是否和老师的一样&#xff0c;不一样的话需要在application-dev.yml文件中把老师的用户名密码修改成自己的 老师的用户名…...

结合大象机器人六轴协作机械臂myCobot 280 ,解决特定的自动化任务和挑战!(下)

Limo Pro 小车建图导航 引言 前景提要&#xff1a;我们在上文介绍了使用LIMO cobot 实现一个能够执行复杂任务的复合机器人系统的应用场景的项目&#xff0c;从以下三个方面&#xff1a;概念设计、系统架构以及关键组件。 本文主要深入项目内核的主要部分&#xff0c;同样也主要…...

加速 Webpack 构建:提升效率的秘诀

&#x1f90d; 前端开发工程师、技术日更博主、已过CET6 &#x1f368; 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 &#x1f560; 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》 &#x1f35a; 蓝桥云课签约作者、上架课程《Vue.js 和 E…...

Qt自定义标题栏的多屏适配

标题栏自定义 参考博客 &#xff1a; https://blog.csdn.net/goforwardtostep/article/details/53494800 多屏适配 MyTitleBar类抽象定义了自定义标题栏&#xff0c;使用起来相对方便。但是在多屏情况下&#xff0c;窗口初次显示只能在主屏幕上&#xff0c;如果拖到其他屏幕…...

【MySQL篇】 MySQL基础学习

文章目录 前言基础数据类型DDL数据库操作查询数据库创建数据库删除数据库使用数据库 DDL表操作创建表查询表修改表删除 DML-增删改添加数据更改数据删除数据 DQL-查询基础查询条件查询聚合函数分组查询排序查询分页查询编写顺序 DML-用户及权限用户管理权限控制 函数字符串函数…...

Qt多弹窗实现包括QDialog、QWidget、QMainWindow

1.相关说明 独立Widget窗口、嵌入式Widget、嵌入式MainWindow窗口、独立MainWindow窗口等弹窗的实现 相关界面包含关系 2.相关界面 3.相关代码 mainwindow.cpp #include "mainwindow.h" #include "ui_mainwindow.h" #include "tformdoc.h" #incl…...

Django高级之-forms组件

Django高级之-forms组件 1 校验字段功能 针对一个实例&#xff1a;注册用户讲解。 模型&#xff1a;models.py class UserInfo(models.Model):namemodels.CharField(max_length32)pwdmodels.CharField(max_length32)emailmodels.EmailField()模版文件 <!DOCTYPE html&g…...

GPT实战系列-LangChain实现简单链

GPT实战系列-LangChain实现简单链 LangChain GPT实战系列-LangChain如何构建基通义千问的多工具链 GPT实战系列-构建多参数的自定义LangChain工具 GPT实战系列-通过Basetool构建自定义LangChain工具方法 GPT实战系列-一种构建LangChain自定义Tool工具的简单方法 GPT实战系…...

关于tomcat服务器配置及性能优化的20道高级面试题

1. 请描述Tomcat服务器的基本架构和组件。 Tomcat服务器的基本架构主要包括Server、Service、Connector和Container等组件。具体来看&#xff1a; Server&#xff1a;是Tomcat中最顶层的容器&#xff0c;代表着整个服务器。它负责运行Tomcat服务器&#xff0c;例如打开和关闭…...

LeetCode 1315.祖父节点值为偶数的节点和

给你一棵二叉树&#xff0c;请你返回满足以下条件的所有节点的值之和&#xff1a; 该节点的祖父节点的值为偶数。&#xff08;一个节点的祖父节点是指该节点的父节点的父节点。&#xff09; 如果不存在祖父节点值为偶数的节点&#xff0c;那么返回 0 。 示例&#xff1a; 输入…...

C语言分支和循环总结

文章目录 概要结构介绍不同结构的语句简单运用小结 概要 C语言中分为三种结构&#xff1a;顺序结构&#xff0c;选择结构&#xff0c;循环结构 结构介绍 顺序结构就是从上到下&#xff0c;从左到右等等&#xff1b;选择结构可以想象是Y字路口就是到了一个地方会有不同的道路…...

【Echarts】曲线图上方显示数字以及自定义值,标题和副标题居中,鼠标上显示信息以及自定义信息

欢迎来到《小5讲堂》 大家好&#xff0c;我是全栈小5。 这是《前端》系列文章&#xff0c;每篇文章将以博主理解的角度展开讲解&#xff0c; 特别是针对知识点的概念进行叙说&#xff0c;大部分文章将会对这些概念进行实际例子验证&#xff0c;以此达到加深对知识点的理解和掌握…...

双环PID控制详细讲解

参考博客&#xff1a; &#xff08;1&#xff09;PID双环控制&#xff08;速度环和位置环&#xff09; &#xff08;2&#xff09;PID控制&#xff08;四&#xff09;&#xff08;单环与双环PID&#xff09; &#xff08;3&#xff09;内外双环pid算法 0 单环PID 目标位置→系…...

深入解析Java内存模型

一、背景 并发编程本质问题是&#xff1a;CPU、内存以及IO三者之间的速度差异。CPU速度快于内存、内存访问速度又远远快于IO&#xff0c;根据木桶理论&#xff0c;程序性能取决于最慢的操作&#xff0c;即IO操作。这样会出现CPU和内存交互时&#xff0c;CPU性能无法被充分利用…...

C++中显示与隐式加载dll的使用与区别

一、什么是 DLL&#xff1f;DLL&#xff08;Dynamic Link Library&#xff09; 是 Windows 下的动态链接库&#xff0c;包含可被多个程序共享的函数、资源或类。使用 DLL 可以实现代码复用、模块化设计和插件机制。在 C 中&#xff0c;调用 DLL 中的函数有两种主要方式&#xf…...

告别沉浸式白屏!UniApp中iOS/Android底部安全区与顶部状态栏颜色自定义全攻略

告别沉浸式白屏&#xff01;UniApp中iOS/Android底部安全区与顶部状态栏颜色自定义全攻略当开发者尝试在UniApp中实现沉浸式设计时&#xff0c;往往会遇到一个令人头疼的问题——默认的白色安全区和状态栏导致界面元素&#xff08;如电池图标、信号强度&#xff09;几乎不可见。…...

网易云音乐NCM转MP3终极指南:ncmdump工具完整使用教程

网易云音乐NCM转MP3终极指南&#xff1a;ncmdump工具完整使用教程 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 你是否曾经从网易云音乐下载了心爱的歌曲&#xff0c;却发现只能在特定播放器上收听&#xff1f;NCM格式的限制让音乐…...

ARM PMU性能监控单元原理与实践指南

1. ARM PMU性能监控单元概述性能监控单元&#xff08;PMU&#xff09;是现代ARM处理器中用于硬件级性能分析的核心组件。它通过一组可编程的硬件计数器&#xff0c;实现对处理器内部各种关键事件的精确测量。这些事件涵盖了从指令执行、缓存访问到内存子系统行为等处理器活动的…...

Veo 2胶片质感生成器失效?——深度解析Color Science v2.3内核中被屏蔽的Cinematic Grain Injection层

更多请点击&#xff1a; https://kaifayun.com 第一章&#xff1a;Veo 2胶片质感生成器失效现象全景透视 近期大量用户反馈&#xff0c;Veo 2 胶片质感生成器在调用 generate_film_effect() 接口后返回空纹理、纯灰帧或 HTTP 503 Service Unavailable 错误&#xff0c;且该问题…...

基于ESP32的AIS转WiFi转换器:实现NMEA 0183数据无线传输

1. 项目概述&#xff1a;从VHF-AIS接收器到iPad的无线桥梁作为一名经常在海上折腾电子设备的航海爱好者&#xff0c;我最近遇到了一个挺实际的需求&#xff1a;我的主力导航设备是iPad上的iSailor应用&#xff0c;它功能强大、界面友好&#xff0c;但有个“硬伤”——它需要通过…...

轻量化部署,异地机房快速接入,多机房管理不用再大动干戈

随着业务拓展&#xff0c;不少企业、单位陆续建起异地分部机房、多区域节点机房。传统资产管理系统部署复杂、对接困难&#xff0c;异地机房接入成本高、周期长&#xff0c;改造繁琐&#xff0c;让很多运维团队望而却步&#xff0c;只能继续沿用分散人工管理&#xff0c;资产混…...

武汉国电华美16875kVA串联谐振试验装置,这手活儿细

在超高压变电站和长距离电缆的现场&#xff0c;交流耐压试验是检验设备绝缘的“最后一关”。这位老师傅经手过不少大工程&#xff0c;他说&#xff0c;面对GIS、大型变压器这些“大块头”电容性试品&#xff0c;能不能顺利“过关”&#xff0c;往往就看串联谐振装置顶不顶得住。…...

yolo视频识别 车辆速度估计识别 yolo11视频实时速度测量与测速估计

文章目录YOLOv11&#xff1a;视频实时速度测量与测速估计一、YOLOv11概述二、速度测量原理三、距离测量方法四、应用场景五、实践案例以下是关于使用YOLOv11进行视频实时速度测量与测速估计的介绍&#xff1a; YOLOv11&#xff1a;视频实时速度测量与测速估计 随着计算机视觉…...

PS5 NOR Modifier深度解析:如何通过Windows工具修复PS5硬件故障与实现光驱版转数字版

PS5 NOR Modifier深度解析&#xff1a;如何通过Windows工具修复PS5硬件故障与实现光驱版转数字版 【免费下载链接】PS5NorModifier The PS5 Nor Modifier is an easy to use Windows based application to rewrite your PS5 NOR file. This can be useful if your NOR is corru…...