华为OD机试题【导师请吃火锅】【2023 B卷 100分】

在这里插入图片描述

文章目录

  • 🎯 前言
  • 🎯 题目描述
  • 🎯 解题思路
    • 📙 Python实现代码
    • 📗 Java实现代码
    • 📘 C语言实现:


🎯 前言

🏆 《华为机试真题》专栏含2023年牛客网面经、华为面经试题、华为OD机试真题最新试题。

🏆 华为机试有三道题,第一道和第二道属于简单题,分值为100分,第三道为困难题,分值为200分,总分400分,150分钟考试时间。

🏆 如果您在准备华为的面试,期间有想了解的可以私信我,我会尽可能帮您解答,也可以给您一些建议!

🎯 题目描述

入职后,导师会请你吃饭,你选择了火锅,火锅里会在不同时间下很多菜。

不同食材要煮不同的时间,才能变得刚好合适。你希望吃到最多的刚好合适的菜,但你的手速不够快,用m代表手速,每次下手捞菜后至少要过m庙才能在捞(每次只能捞一个)。

那么用最合理的策略,最多能吃到多少刚好合适的菜?

输入描述:
第一行两个整数n,m,其中n代表往锅里下的菜的个数,m代表手速。
接下来有n行,每行有两个数x,y代表第x秒下的菜过y秒才能变得刚好合适。
(1 < n, m < 1000)
(1 < x, y < 1000)

输出描述:
输出一个整数代表用最合理的策略,最多能吃到刚好合适的菜的数量。

🎯 解题思路

这道题可以采用贪心算法的思想:优先选择用时短而又未烧焦的菜品,这样可以最大限度地增加吃下的数量。

具体操作如下:

  1. 对每个菜品按煮的时间从小到大排序;
  2. 开始吃菜:每当你要夹菜时,先找到煮好的、用时最短的菜夹起来吃掉,如果当前没有符合条件的菜,等待一段时间后再试;
  3. 继续等待、夹菜,直至所有菜品都被你夹完或已经烧焦。

📝下面是一个例子输入及输出:
输入:

5 5
2 4
3 3
4 5
5 1
12 6

输出:

4

这组输入中有5个菜品,你的手速为5,下菜和煮菜的时间分别在每一行中输入。按照上述代码的实现,算法会先按照下菜的时间排序,然后夹取用时最短的菜,直到所有菜品都被夹完或已经烧焦。在这个例子中,你可以吃掉的最多菜品数量为4,分别是第一个、第二个、第三个和第五个菜品。第四个菜品需要等待太久导致烧焦了,所以不能被计入菜品数量。

📙 Python实现代码

m, n = map(int, input().split())# 定义一个列表存储每个菜品的信息(下菜品的时间和煮好的时间)
dishes = []
for i in range(m):
# 注意这里要map转换成int类型
dishes.append(list(map(int, input().split())))# 对菜品按照下菜品的时间从小到大排序
dishes.sort(key=lambda x:x[0])# 定义一个变量记录吃掉多少道菜
count = 0
# 定义一个变量存储当前时间
cur_time = 0
# 开始吃菜
for dish in dishes:
if cur_time + n <= dish[1]:
# 如果当前时间加上吃菜的时间小于等于煮好的时间,说明这个菜未烧焦,夹起来吃掉
cur_time += n
count += 1
elif dish[1] > cur_time:
# 否则,等待直到这道菜煮好后再吃掉它,更新当前时间
wait_time = dish[1] - cur_time
cur_time = dish[1]
cur_time += n
count += 1# 输出吃掉的菜品数量
print(count)

📗 Java实现代码

import java.util.*;public class Main {public static void main(String[] args) {Scanner sc = new Scanner(System.in);int m = sc.nextInt();int n = sc.nextInt();int[][] dishes = new int[m][2];for (int i = 0; i < m; i++) {dishes[i][0] = sc.nextInt();dishes[i][1] = sc.nextInt();}Arrays.sort(dishes, (a, b) - > a[0] - b[0]);int count = 0, cur_time = 0;for (int i = 0; i < m; i++) {if (cur_time + n <= dishes[i][1]) {cur_time += n;count++;} else if (dishes[i][1] > cur_time) {int wait_time = dishes[i][1] - cur_time;cur_time = dishes[i][1];cur_time += n;count++;}}System.out.println(count);}
}

📘 C语言实现:

#
include# includeint cmp(const void * a,const void * b) {int * pa = (int * ) a;int * pb = (int * ) b;return pa[0] - pb[0];
}int main() {int m, n;scanf("%d%d", & m, & n);int * * dishes = (int * * ) malloc(m * sizeof(int * ));for (int i = 0; i < m; i++) {dishes[i] = (int * ) malloc(2 * sizeof(int));scanf("%d%d", & dishes[i][0], & dishes[i][1]);}qsort(dishes, m, sizeof(int * ), cmp);int count = 0, cur_time = 0;for (int i = 0; i < m; i++) {if (cur_time + n <= dishes[i][1]) {cur_time += n;count++;} else if (dishes[i][1] > cur_time) {int wait_time = dishes[i][1] - cur_time;cur_time = dishes[i][1];cur_time += n;count++;}}printf("%d\n", count);for (int i = 0; i < m; i++) {free(dishes[i]);}free(dishes);return 0;
}

在这里插入图片描述

📭 本专栏包含了最新最全的2023年 华为OD机试真题,有详细的分析和解答。

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

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

相关文章

树的结构-树的各种定义及性质

树&#xff1a; n个结点组成的有限集合。 &#xff08;1&#xff09;有且仅有一个特定的称为根的结点。 &#xff08;2&#xff09;当n>1时&#xff0c;其余结点可分为m个互不相交的有限集合&#xff0c;其中每个集合本身又是一棵树&#xff0c;称为根节点的子树。 注意&…

VTK-vtkInformation

前言&#xff1a;本博文主要介绍vtk中的接口vtkInformation的应用&#xff0c;以及vtkInformation的衍生用法&#xff0c;希望对各位小伙伴有所帮助&#xff0c;谢谢&#xff01; 目录 vtkInformation介绍 描述&#xff1a; Information中接受的类型&#xff1a; 方法 vtk…

半导体(TSS)放电管的两大选购注意事项及选型小策略

固体放电管&#xff0c;是以半导体工艺制作而成的&#xff0c;因此我们也称为半导体&#xff08;TSS&#xff09;放电管&#xff0c;它常在电路中并联使用&#xff0c;具备伏安特性。 TSS放电管在电路中类似开关&#xff0c;在正常工作时不动作&#xff0c;但一般被保护电路受到…

PRE、RC、beta、RTM 含义扫盲

alpha版:内部测试版。α是希腊字母的第一个,表示最早的版本,一般用户不要下载这个版本,这个版本一般是作为技术预览的,很可能包含很多BUG,功能也不全,主要是给开发人员和测试人员测试和找BUG用的。——————————————————————————————————…

直播预告|RTM 助力信令与消息全球实时互通

RTM 是实时消息&#xff08;Real-time Messaging&#xff09;的简称。在实时互动场景中&#xff0c;用户通常有两种互动方式&#xff1a;一种是通过音视频进行互动&#xff0c;比如语音连麦、视频连麦等&#xff1b;另一种是通过非音视频的方式进行互动&#xff0c;比如文字聊天…

数据库sql server 2008 r2 RTM版本升级到sql server 2012 r2

(数据库sql server 2008 r2 RTM版本升级到2012) 1.先介绍sql 2008数据库的几个版本 10.00.1600其实就是SQL 2008 10.50.1600其实就是SQL 2008 R2 10.50.2500其实就是SQL 2008 R2 SP1 10.50.4000其实就是SQL Server 2008 R2 SP2 SQL Server 版本号汇总 那么sql server 2008后…

IBM LSF学习(是什么)

碎碎念&#xff1a;这里主要介绍&#xff0c;LSF是什么&#xff0c;本人秉承的写作原则或者技术学习原则&#xff0c;“是什么”&#xff0c;“为什么”&#xff0c;“怎么用”。 这里借鉴了这几篇文章并进行自我理解&#xff1a; https://blog.csdn.net/qq_43653083/article/d…

微软服务器操作系统指什么意思,现代服务器操作系统:你绝对想不到是什么!...

大家好&#xff0c;小编又和大家见面了。上一篇文章&#xff0c;我们了解了Windows Server 2008&#xff0c;今天&#xff0c;我们讲一讲Windows Server 2012。 Windows Server 2012(开发代号&#xff1a;Windows Server 8)是微软的一个服务器系统。这是Windows 8的服务器版本&…

直播选择 RTC 还是 RTMP?

RTC 实时直播 RTC&#xff08;Real Time Communication&#xff09;实时音视频通信&#xff0c;它最大的特点就是低延时和无卡顿。从功能流程上说&#xff0c;它包含了采集、编码、前后处理、传输、解码、缓冲、渲染等诸多环节&#xff0c;每一个细分环节&#xff0c;还有更细…

灰度测试是什么意思

本文章&#xff0c;百度论坛知乎等处查询&#xff0c;了解灰度测试&#xff0c;方便学习。本文章只限学习。文章可能内容多&#xff0c;我进行了网上查询终结&#xff0c;还需细看整理&#xff0c;如有重复内容请见谅&#xff0c;我也正在了解&#xff0c;方便手机携带查看。 …

MySQL安装流程 及 8.0与5.7区别

一、MySQL版本介绍 1、MySQL 8.0 窗口函数&#xff1a;MySQL 8.0版本支持窗口函数&#xff0c;这是数据分析工作中非常常用的一类函数。窗口函数可以让用户在单个查询中跨多个行检索数据&#xff0c;并在查询结果中对数据执行计算。隐藏索引&#xff1a;在MySQL 8.0版本中&am…

探究Cache缓存功能---【pytest】

前言 pytest运行完用例之后会生成一个 .pytest_cache的缓存文件夹&#xff0c;用于记录用例的ids和上一次失败的用例。 1、跑自动化时经常会出现这样一个情况&#xff0c;一轮自动化跑完后零星出现了几个失败测试用例&#xff0c;无法断定失败的原因&#xff0c;所以可能需要重…

浏览器插件检测淘宝订单是否淘客下单

1、插件安装 。 2、获取接口秘钥 &#xff0c;获取之后请将接口秘钥填写到本插件中。 3、登录淘宝/天猫已卖出报表列表&#xff0c;点击【检测淘客】按钮&#xff0c;等待返回检测结果&#xff1b;

帝国CMS淘宝客插件,帝国自动调用淘宝客插件链接自动转换

插件功能 可以根据根据设置的字段自动调用淘宝客商品数量&#xff0c;适用于各种资讯和导购站 具体看演示地址&#xff0c;可根据自己的样式来调用数据

淘宝客接入PHP(一)

1、文件位置 extend/tbk文件里面 2、引入tbk的sdk Loader::import(TopSdk, EXTEND_PATH."/tbk/taobaoke");3、修改autoload文件 直接运行报一下错误&#xff0c;是因为这个类给了namespace的原因。 两种解决方案&#xff0c;1、删除namespace 2、修改为spl_autoloa…

淘宝开放平台Api的小试牛刀(获取淘宝客推广商品信息)

最近在学习淘宝开放平台&#xff0c;属于初学小菜鸟&#xff0c;有一点点小成就给大家分享一下。 要做这个东西&#xff0c;第一步你必须注册为淘宝开发方平台的开发人员。地址&#xff1a;http://open.taobao.com/index.htm 点击加入开放平台&#xff0c; 配图&#xff1a;…

淘宝客高手必备的14大WordPress插件

做淘宝客相信没有人不知道WP的。WordPress一款是用PHP语言和MySQL数据库开发的开源程序。由于WP的安装和使用都非常简单&#xff0c;并且 功能非常强大&#xff0c;可使用的插件和模板数量非常庞大&#xff0c;目前WordPress已经成为国外内主流的Blog搭建平台。WordPress的好处…

java淘宝客开发(一)

java淘宝客开发&#xff08;一&#xff09; java淘宝客开发&#xff08;一&#xff09;基础 网站建设与权限申请OAuth2权限权限开发测试淘宝客私域用户管理能力调研结果 java淘宝客开发&#xff08;一&#xff09; 淘宝客基于CPS模式&#xff0c;带货分佣&#xff0c;这几年短…

电动力学专题:电磁场规范不变性与规范自由度

对称性&#xff0c;不变性&#xff0c;相对性&#xff0c;协变形 在现代物理学中常常被认为具有相同的含义&#xff08;好拗口&#xff09; 规范与规范的自由度 保证电磁场物理量不改变的情况下&#xff0c;有多组势可供选择&#xff0c;而每组势可以称为一个规范 规范不变性…

淘宝客工具箱源码,一键转链,淘口令解析 淘宝客中间页生成

淘宝客工具箱&#xff0c;方便淘宝客推广者在微信朋友圈、微信群等渠道进行推广淘口令&#xff0c;生成中间页用于安全推广措施。 因为自己有好几个微信号&#xff0c;都是学生&#xff0c;所以本人做了1年淘宝客&#xff0c;一个月赚个两三千也是钱啊。但是微信做淘客&#x…