美团2024届秋招笔试第一场编程[汇总](上课口胡一下)

一.小美的好矩阵

cfe72ac42cd345f98e097f8d23d7d6e3.jpg

 口胡:模拟题,数据和题意灰常清楚。

俩层循环枚举每个3﹡3的小矩阵,然后枚举每个小矩阵,12个if判断俩俩相邻的字符是否相等。这里有个技巧:拿出中间的字符,这样就能使用一个偏移量数组,dx[8],dy[8],可以减少很多if判断。判断每个小矩阵就是下图这样:db602c139eda459fabbd0c1c3935eefe.jpg

 时间复杂度:O(n*n)

 

二.小美的排列构造e5e0f1af25044ce29f6019c72c62e6c9.jpg

 口胡:思维题。注意数组是一个排列,每个数只出现一次。

画一下应该就能出来:重复最小的数和最大的数相邻。

比如n等于8:1 8 2 7 3 6 4 5  权值为1

n等于5:1 5 2 4 3   权值为1

代码大概是下面这样:b40bb1ff6e454e8e97c365c649a623b5.jpg

 

 

     三.小美的数组操作

 

eed8db3794ae43dfb58bf9bd66bc79cd.jpg

 口胡:[有个想法不知道对不对]

先不考虑操作次数最小,只考虑众数的次数最多。

因为每次操作,对某个数加一,对另外一个数减一,这样相对于总数组的和还是不变的。所以从数组总和开始考虑:对数组中的所有数求和,然后除以数组的元素个数。

这就有俩种情况:

1.能整除

也就是整个数组在操作后每个元素都是一样的。

求出操作完之后应该变成的值,也就是sum/n。

假设x等于sum/n

那最小次数就是对abs(x-a[i])求和 然后除2

 

2.不能整除

对sum/n向上取整,假设是x

操作后的元素是 (n-1)个x 和 一个特殊的数(拿总和减去(n-1)*x)

操作次数的话也就迎刃而解了。e545375f6009426a9de428f4b89a4253.jpg

             

   四.小美的蛋糕切割17eaf15d8311496b9dcfb61122d02531.jpg

 口胡:应该是考察二维前缀和

因为只能切一刀,总共的可能性就是(n+m-2)刀

横着枚举每一刀取min

竖着枚举每一刀取min

因为预处理二维前缀和复杂度是O(n*n),枚举横刀是O(n),竖着也是O(n),所以总时间复杂度是(n*n)

                    

  还打印了几道牛客的题

feaa547ed64548039d9e4ba10d6c5538.jpg

 口胡:从后往前预处理dp数组。

dp[j][i]表示从最后一个位置到第i个位置字符j的个数。预处理之后,就可以从前往后开始枚举处理答案了[有可能爆int]。

8cbbb88757914a878b64b40005140de6.jpg

 

 

刚好要下课了   以上解法都是口胡(o。O),晚上自习去验证,如有一些错误,下期会纠正这期的解法。

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

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

相关文章

【操作系统笔记十五】操作系统面试问题总结

1. 进程和线程的区别? 调度:进程是资源管理和分配的基本单位,线程是 CPU 调度程序执行的基本单位。切换:线程切换比进程切换要快得多,进程切换需要进行CPU上下文切换,而线程不需要。拥有资源: …

记录:移动设备软件开发(Android项目组织结构)

目录 Android项目管理结构ui管理ViewGroupUI控制 使用Android Studio开发Android应用简单、方便,除了创建Android项目,开发者只需要做两件事情:使用activity_main.xml文件定义用户界面:打开Java源代码编写业务实现。但对于一个喜欢…

Vue3+Ts+Vite项目(第十五篇)——tailwindcss安装及使用详解,css原子化如何实现

文章目录 一、装包二、初始化2.1 终端执行如下命令2.2 postcss.config.js 文件中2.3 tailwind.config.js 文件中 三、样式文件3.1 新建 tailwind.css 文件3.2 main.ts 中引入 四、使用4.1 写入类名即可4.2 简单讲解 五、插件5.1 安装 Tailwind CSS IntelliSense5.2 使用效果 六…

MySQL数据库入门到精通2--基础篇(函数,约束,多表查询,事务)

3. 函数 函数 是指一段可以直接被另一段程序调用的程序或代码。MySQL中的函数主要分为以下四类: 字符串函数、数值函数、日期函数、流程函数。 3.1 字符串函数 MySQL中内置了很多字符串函数,常用的几个如下: 演示如下: A. con…

uniapp——实现base64格式二维码图片生成+保存二维码图片——基础积累

最近在做二维码推广功能,自从2020年下半年到今天,大概有三年没有用过uniapp了,而且我之前用uniapp开发的程序还比较少,因此很多功能都浪费了很多时间去查资料,现在把功能记录一下。 这里写目录标题 效果图1.base64生成…

主动写入流对@ResponseBody注解的影响 | 京东云技术团队

问题回溯 2023年Q2某日运营反馈一个问题,商品系统商家中心某批量工具模板无法下载,导致功能无法使用(因为模板是动态变化的) 商家中心报错(JSON串): {"code":-1,"msg":&…

【湖科大教书匠】计算机网络随堂笔记第1章(计算机网络概述)

目录 1.1、计算机网络在信息时代的作用 我国互联网发展状况 1.2、因特网概述 1、网络、互连网(互联网)和因特网 2、因特网发展的三个阶段 因特网服务提供者ISP(Internet Service Provider) 基于ISP的三层结构的因特网 3、因特网的标准化工作 4、因特网的…

在React中,什么是组件的状态(state)?如何更新组件的状态?

聚沙成塔每天进步一点点 ⭐ 专栏简介⭐ 创建和初始化状态⭐ 更新状态⭐ 注意事项⭐ 写在最后 ⭐ 专栏简介 前端入门之旅:探索Web开发的奇妙世界 欢迎来到前端入门之旅!感兴趣的可以订阅本专栏哦!这个专栏是为那些对Web开发感兴趣、刚刚踏入前…

力扣刷题笔记28——验证回文串/isalnum/逆序string

上一篇:力扣刷题笔记26——最小的k个数/快速排序学习/快排与冒泡的时间复杂度 文章目录 题目:我的方法:isalnum函数逆序string 题目: 如果在将所有大写字符转换为小写字符、并移除所有非字母数字字符之后,短语正着读和…

智能金融决策策略,规则引擎在大数据金融行业的实战案例

在金融风控场景中,规则引擎是一个核心风险管理的利器,它预先设定一系列规则设定,用于便捷的评估和处理各种交易、客户行为或其他需要自动化决策、计算、推理判断的情况。 以下是一个详细的示例,说明规则引擎在金融风控中的使用。 …

conda创建虚拟环境安装aix360

目录 创建虚拟环境查看已有虚拟环境进入所创建的虚拟环境查看已安装的程序查看已安装的python模块配置镜像pipconda 安装aix360将环境添加到jupyter删除虚拟环境 创建虚拟环境 conda create -n aix360 python3.9查看已有虚拟环境 conda env list进入所创建的虚拟环境 activa…

【教程】视频汇聚/视频监控管理平台EasyCVR录像存储功能如何优化?具体步骤是什么?

视频云存储/安防监控EasyCVR视频汇聚平台基于云边端智能协同,支持海量视频的轻量化接入与汇聚、转码与处理、全网智能分发、视频集中存储等。视频监控系统EasyCVR拓展性强,视频能力丰富,具体可实现视频监控直播、视频轮播、视频录像、云存储、…

uniapp 实现不同用户展示不同的tabbar(底部导航栏)

一、背景 最近在做一个uniapp开发的小程序遇到一个需求,希望不同用户登录后展示不同的tabbar页面,但是uniapp项目中的pages.json是只有一个list数组的,并且是不能写成动态效果,为了实现这个需求,便自定义了tabbar组件 …

面向面试知识--MySQL数据库与索引

面向面试知识–MySQL数据库与索引 优化难点与面试点 什么是MySQL索引? 索引的MySQL官方定义:索引是帮助MySQL快速获取数据的数据结构。 动力节点原文: MysQL官方对于索引的定义:索引是帮助MySQL高效获取数据的数据结构。 MysQL在存储数据之…

前后端分离的大数据毕设项目之基于Spark+springboot+vue的共享单车数据存储系统的设计与实现

博主介绍:✌全网粉丝10W,前互联网大厂软件研发、集结硕博英豪成立工作室。专注于计算机相关专业毕业设计项目实战6年之久,选择我们就是选择放心、选择安心毕业✌ 🍅由于篇幅限制,想要获取完整文章或者源码,或者代做&am…

【数据结构】—交换排序之快速排序究极详解,手把手带你从简单的冒泡排序升级到排序的难点{快速排序}(含C语言实现)

食用指南:本文在有C基础的情况下食用更佳 🔥这就不得不推荐此专栏了:C语言 ♈️今日夜电波:靴の花火—ヨルシカ 0:28━━━━━━️💟──────── 5:03 …

时序预测 | MATLAB实现BO-BiGRU贝叶斯优化双向门控循环单元时间序列预测

时序预测 | MATLAB实现BO-BiGRU贝叶斯优化双向门控循环单元时间序列预测 目录 时序预测 | MATLAB实现BO-BiGRU贝叶斯优化双向门控循环单元时间序列预测效果一览基本介绍模型搭建程序设计参考资料 效果一览 基本介绍 MATLAB实现BO-BiGRU贝叶斯优化双向门控循环单元时间序列预测。…

C语言自定义类型详解(2)位断、枚举、联合知识汇总

本篇概要 本篇主要讲述C语言位断、枚举。联合的相关知识,包括哥哥自定义类型的基本声明,使用、优点。计算等相关知识。 文章目录 本篇概要1.位断1.1什么是位断?1.2 位段的内存分配1.3 位段的跨平台问题1.3 位段的应用 2.枚举2.1 枚举类型的声…

文件操作(2)

目录 文件操作的步骤: 流: 标准流: 文件指针: 文件信息区: 概念: 关系转化: 注意: 文件指针: 文件的打开和关闭: 打开方式: 打开成…

阿里云2核2G服务器e系列租用优惠价格182元性能测评

阿里云服务器经济型e实例2核2G配置优惠价格182.04元一年,系统盘ESSD Entry盘20GB起,公网带宽默认按使用流量,也可以选择按固定带宽计费,带宽值从1M到100M可选,阿腾云分享阿里云服务器2核2G优惠价格、详细配置及e系列CP…