温馨提示:这篇文章已超过456天没有更新,请注意相关的内容是否还可用!
摘要:华为OD机试中的转盘寿司问题涉及多种编程语言,包括Java、JavaScript、Python、C和C++。该问题可能涉及实现一个转盘寿司系统的设计和功能,可能包括寿司的制作、传送、客户点餐、结账等功能。需要运用编程知识实现系统的逻辑和算法,对候选者的编程能力进行综合考察。
寿司店为庆祝周年庆,正在举办优惠活动来回馈新老客户,店内的寿司被放置在一个转盘上,总共有n盘寿司,每盘寿司都有一个特定的价格,当客户选择某一盘寿司时,店铺会免费赠送客户距离所选寿司最近的下一盘寿司,前提是免费赠送的那盘寿司的价格必须低于所选寿司的价格,每个价格的寿司都可以无限供应,我们需要计算客户在选择每盘寿司时,实际得到的寿司的总价格是多少。
输入描述:
输入的每一数字代表每盘寿司的价格,每盘寿司的价格之间使用空格分隔,输入的“3 15 6 14”表示第0盘寿司价格为3,第1盘寿司价格为15,第2盘寿司价格为6,第3盘寿司价格为14,寿司的盘数n范围为:1 ≤ n ≤ 500,每盘寿司的价格price范围为:1 ≤ price ≤ 1000。
输出描述:
输出享受优惠后的一组数据,每个值表示客户选择第i盘寿司时实际得到的寿司的总价格,使用空格进行分隔,如果客户选择第0盘寿司时实际得到的总价格是3(只包括所选的寿司),选择第1盘时实际得到的总价格是21(包括所选的寿司和紧接着的下一盘更便宜的寿司的价格),以此类推。
用例:假设输入的寿司价格为“3 15 6 14”,则输出的享受优惠后的数据可能为“3 21 9 28”,表示客户选择各盘寿司时实际支付的总价格。
补充说明:由于可能存在多个价格相同的寿司,因此在计算时需要考虑所有符合条件的价格更便宜的下一盘寿司,当计算完所有盘寿司后,需要考虑循环回到第一盘的情况(即选择最后一盘寿司后,下一盘应该是第一盘)。
还没有评论,来说两句吧...