华为OD机试真题-分奖金/单调栈【2023.Q1】

题目内容

公司老板做了一笔大生意,想要给每位员工分配一些奖金,想通过游戏的方式来决定每个人分多少钱。按照员工的工号顺序,每个人随机抽取一个数字。按照工号的顺序往后排列,遇到第一个数字比自己数字大的,那么,前面的员工就可以获得“距离数字差值”的奖金。如果遇不到比自己数字大的,就给自己分配随机数数量的奖金。例如,按照工号顺序的随机数字是: 2,10.3。那么第2个员工的数字10比第1个员工的数字2大,所以,第1个员工可以获得1(10-2) =8。第2个员工后面没有比他数字更大的员工,所以,他获得他分配的随机数数量的奖金,就是10。第3个员工是最后一个员工,后面也没有比他更大数字的员工,所以他得到的奖金是3。
请帮老板计算一下每位员工最终分到的奖金都是多少钱
输入描述:
第一行n表示员工数量 (包含最后一个老板)
第二是每位员工分配的随机数字
输出描述:
最终每位员工分到的奖金数量
随机数字不重复,员工数量(包含老板)范围110000,随机数范围1100000
输入:
3
2 10 3
输出:
8 10 3

解题思路

题目的意思是,找数组的每一个元素的右边第一个比它大的数字。由此可以想到用单调栈解题。
使用栈存储需要比较的工号。遍历每个员工的随机数,若栈为空或当前员工随机数小于等于栈顶员工随机数,将当前员工工号入栈。若当前员工随机数大于栈顶员工随机数,则计算栈顶员工的奖金,并将栈顶员工出栈。当遍历完成后,栈中剩余的员工获得的奖金与随机数相同。

参考代码


        
华为OD真题2023JavaScript) 华为有三道题目,第一道和第二道属于简单或中等题,值为100,第三道为中等或困难题,值为200。总为400150钟考时间。之前通过为150,现在好像数提高了,大家不要太大意,一定要多刷题,争取拿高,毕竟数越高评级越高,工资也就越高。 阅读详情

相关推荐

2026华为ODJavaScript)真题【E卷+A卷+B卷+C卷+D卷】目录+在线OJ

华为OD真题题库【E卷+A卷+B卷+C卷+D卷】目录,JavaScript实现。

MISAYAONE的博客 8万+

华为OD(B、C卷)、考,200的题目整理如下,冲满必备

关于华为 od 题库的说明(2023-05-12 更新本文) 关于订阅华为 OD 题库的后续问题 华为 OD 真题,新题库,50 道 200 华为 od 岗的薪资待遇 华为 OD 应聘流程 华为 OD100 题目,参考下述地址 华为 od 转正 华为 OD 说的目标院校都有哪些?

梦想橡皮擦,专栏100例写作模式先行者,现象级专栏 《Python 爬虫 100 例》作者、《滚雪球学 Python 专栏》原创者 3万+

2026华为ODJAVA&Go)真题【E卷+A卷+B卷+C卷+D卷】目录+在线OJ

华为OD真题题库【E卷+A卷+B卷+C卷+D卷】目录,Java实现。

MISAYAONE的博客 34万+

2026华为OD(C语言真题【E卷+A卷+B卷+C卷+D卷】目录+在线OJ

华为OD真题题库【E卷+A卷+B卷+C卷+D卷】目录,C语言实现。

MISAYAONE的博客 11万+

华为OD 新系统 双位C卷 往年真题 考题库(持续收录中)以及算法考点详解(Python/JS/C/C++)

刷的越多,抽中的概率越大,每一题都有详细的答题思路、详细的代码注释发现新题目,随时更新。

学Java,找哪吒 5万+

100%通过率】华为OD真题 JS 实现【奖金】【2023 Q1 | 200

公司老板做了一笔大生意,想要给每位员工配一些奖金,想通过游戏的方式来决定每个人多少钱。按照员工的工号顺序,每个人随抽取一个数字。按照工号的顺序往后排列,遇到第一个数字比自己数字大的,那么,前面的员工就可以获得“距离*数字差值”的奖金。如果遇不到比自己数字大的,就给自己配随数数量的奖金。例如,按照工号顺序的随数字是: 2,10.3。那么第2个员工的数字10比第1个员工的数字2大,所以,第1个员工可以获得1*(10-2) =8。第2个员工后面没有比他数字更大的员工,所以,他获得他配的随数数量的奖

MISAYAONE的博客 7328

2026华为OD(C++)真题【E卷+A卷+B卷+C卷+D卷】目录+在线OJ

华为OD真题题库【E卷+A卷+B卷+C卷+D卷】目录,C++实现。

MISAYAONE的博客 20万+

100%通过率 】【华为OD(python)】奖金2023 Q1 |200

公司老板做了一笔大生意,想要给每位员工配一些奖金, 想通过游戏的方式来决定每个人多少钱。 按照员工的工号顺序,每个人随抽取一个数字。 按照工号的顺序往后排列,遇到第一个数字比自己数字大的, 那么,前面的员工就可以获得“距离*数字差值”的奖金。 如果遇不到比自己数字大的,就给自己配随数数量的奖金。 例如,按照工号顺序的随数字是:2,10,3。 那么第2个员工的数字10比第1个员工的数字2大, 所以,第1个员工可以获得1*(10-2)=8。 第2个员工后面没有比他数字更大的

goldarmour的博客 512

100%通过率 】【华为OD c++/python】奖金2023 Q1 |200

公司老板做了一笔大生意,想要给每位员工配一些奖金, 想通过游戏的方式来决定每个人多少钱。 按照员工的工号顺序,每个人随抽取一个数字。 按照工号的顺序往后排列,遇到第一个数字比自己数字大的, 那么,前面的员工就可以获得“距离*数字差值”的奖金。 如果遇不到比自己数字大的,就给自己配随数数量的奖金

goldarmour的博客 835

华为OD真题-奖金2023.Q1

遍历每个员工的随数,若栈为空或当前员工随数小于等于栈顶员工随数,将当前员工工号入栈。若当前员工随数大于栈顶员工随数,则计算栈顶员工的奖金,并将栈顶员工出栈。按照工号的顺序往后排列,遇到第一个数字比自己数字大的,那么,前面的员工就可以获得“距离。那么第2个员工的数字10比第1个员工的数字2大,所以,第1个员工可以获得1。第2个员工后面没有比他数字更大的员工,所以,他获得他配的随数数量的奖金,就是10。第3个员工是最后一个员工,后面也没有比他更大数字的员工,所以他得到的奖金是3。

AlgorithmHero的博客 381

华三华为锐捷迈普中兴交换二三层接口切换命令

一 华三交换1.交换接口切换为路由接口interface GigabitEthernet 1/0/24 port link-mode route # 切换为三层路由接口 ip address 192.168.100.2 242.路由接口切换为交换接口#vlan 100interface GigabitEthernet 1/0/24 port link-mode bridge # 切换为交换接口 port link-type access port default vlan 100#int

huainingning的博客 215

(十八)二层安全加固配置命令五厂商对照:华为 华三 锐捷 迈普 思科

接入层除了端口安全,还有两道常被忽略的防线:**STP 防护**和**风暴控制**。STP 防护防的是"有人私接台交换抢了根桥、或者接出个环路把全网搞瘫";风暴控制防的是"一个口疯狂发广播把带宽吃满"。这篇把这两样打包讲清,命令按官方文档核对,复制即用。

qq_42614669的博客 367

2026 智能门锁横评:五大品牌(小米/华为/凯迪仕/鹿客/格行)性能、安全性与性价比

2026年智能门锁五大品牌的产品路线差异,本质上是生态路线、识别方案与服务模式小米:米家生态联动完整,适合已布局米家设备的家庭;华为:鸿蒙跨屏协同与隐私保护突出,适合已布局鸿蒙生态的家庭;凯迪仕:专业门锁制造经验与线下安装服务,适合重视锁体械素质的家庭;鹿客:静脉识别技术专注,适合指纹条件不稳定的家庭成员;格行:3D双目人脸+可视功能+较长质保组合,适合不依赖大型生态但重视安防可视化与服务周期的家庭。选购的决策框架确认门体适配:门厚、导向片、开门方向、天地钩——硬性条件优先于一切;匹配家庭成员。

2601_95784481的博客 344

华为 eNSP 大型企业总部网络综合实验(NAT+Telnet + 服务器访问)

本实验基于 eNSP 搭建大型企业总部网络,实现内网 PC 访问互联网、总部互通、内外网均可访问内网 WEB 服务器、VLAN200 网管网段 Telnet 管理全网交换。包含 VLAN、VLANIF、静态路由、NAT、Telnet AAA 认证完整配置,适合数通入门练习。

2401_85659339的博客 744
上一篇: 华为OD机试真题-最多获得的短信条数【2023.Q1】
下一篇: 华为OD机试真题-优雅子数组【2023.Q1】
IkunAlgorithm
博客等级 码龄3年 33粉丝 99原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值