【华为OD机考 统一考试机试C卷】 转盘寿司(Java题解)

本文介绍了华为OD机试C卷中的一道Java题目——转盘寿司。题目要求根据寿司价格计算享受优惠后的总价,算法需考虑循环数组和最接近的低价寿司。解题思路涉及栈数据结构的应用。
摘要由CSDN通过智能技术生成

(Java)华为OD机试C卷+D卷+AB卷+刷题OJ

2023年11月份,华为官方已经将 华为OD机考:OD统一考试(A卷 / B卷)切换到 OD统一考试(C卷)和 OD统一考试(D卷) 。根据考友反馈:目前抽到的试卷为B卷或C卷/D卷,其中C卷居多 ,按照之前的经验C卷D卷部分考题会复用A卷/B卷题,博主正积极从考过的同学收集C卷和D卷真题,可以查看下面的真题目录。
真题目录:【Java题解】华为 OD 机试 C卷抽中题库清单(全真题库)含考点说明以及在线OJ
专栏:(Java)华为OD机试C卷+D卷+AB卷+刷题OJ
华为OD面试真题精选:华为OD面试真题精选
在线OJ:点击立即刷题,模拟真实机考环境

题目描述

寿司店周年庆,正在举办优惠活动回馈新老客户。

寿司转盘上总共有 n 盘寿司,prices[i] 是第 i 盘寿司的价格,

如果客户选择了第 i 盘寿司,寿司店免费赠送客户距离第 i 盘寿司最近的下一盘寿司 j,前提是 prices[j] < prices[i],如果没有满足条件的 j,则不赠送寿司。

每个价格的寿司都可无限供应。

输入描述

输入的每一个数字代表每盘寿司的价格,每盘寿司的价格之间使用空格分隔,例如:

3 15 6 14

表示:

  • 第 0 盘寿司价格 prices[0] 为 3
  • 第 1 盘寿司价格 prices[1] 为 15
  • 第 2 盘寿司价格 prices[2] 为 6
  • 第 3 盘寿司价格 prices[3] 为
  • 17
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
可以通过 HTML、CSS 和 JavaScript 实现转盘效果。下面是一个简单的 HTML 转盘实现示例: ```html <!DOCTYPE html> <html> <head> <title>HTML 转盘示例</title> <style> /* 定义转盘样式 */ .wheel { width: 300px; height: 300px; margin: 50px auto; position: relative; overflow: hidden; border-radius: 50%; box-shadow: 0px 0px 20px rgba(0, 0, 0, 0.5); } .wheel:before { content: ""; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: linear-gradient(to right, #fff 50%, #f00 50%); transform-origin: 0 50%; transform: rotate(22.5deg); transition: transform 5s; } </style> </head> <body> <div class="wheel"></div> <script> // 定义转盘旋转函数 function spinWheel() { // 随机生成旋转角度 var deg = Math.floor(Math.random() * 360) + 3600; // 获取转盘元素 var wheel = document.querySelector(".wheel"); // 设置转盘旋转动画 wheel.style.transition = "transform 10s ease-out"; wheel.style.transform = "rotate(" + deg + "deg)"; // 监听旋转动画结束事件 wheel.addEventListener("transitionend", function() { // 移除旋转动画 wheel.style.transition = null; // 计算选中的扇形 var selected = Math.floor(((360 - deg % 360) % 360) / 45); // 弹出选中的扇形编号 alert(selected); }); } // 绑定转盘点击事件 document.querySelector(".wheel").addEventListener("click", function() { // 禁用转盘点击事件 this.removeEventListener("click", arguments.callee); // 开始转盘旋转 spinWheel(); }); </script> </body> </html> ``` 该示例中,通过定义 `.wheel` 样式来设置转盘的基本样式,然后使用 `:before` 伪元素来绘制扇形。在 JavaScript 中,定义了 `spinWheel()` 函数来实现转盘旋转效果,并在转盘点击事件中调用该函数来触发旋转动画。旋转结束后,通过计算旋转角度来确定选中的扇形,弹出选中扇形的编号。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

算法大师

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值