当前位置: 首页 > news >正文

华为OD机试真题B卷 Java 实现【分奖金】,附详细解题思路

一、题目描述

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

请帮老板计算一下每位员工最终分到的奖金都是多少钱。

二、输入描述

第一行n表示员工数量(包含最后一个老板)。

第二是每位员工分配的随机数字。

三、输出描述

最终每位员工分到的奖金数量。

四、解题思路

  1. 读取输入的员工数量n。
  2. 创建一个大小为n的数组array来存储每位员工分配的随机数字。
  3. 使用循环读取n个随机数字并将其存储到数组array中。
  4. 创建一个空栈stack来存储员工的索引。
  5. 使用循环遍历数组array中的每个员工:
    • 如果栈不为空且栈顶元素所对应的数字小于当前员工的数字,说明栈顶元素可以获得奖金。
      • 计算栈顶元素距离当前员工的距离,并将其与数字差值相乘,得到奖金数量。
      • 将栈顶元素出栈。
    • 将当前员工的索引入栈。
  6. 使用循环遍历数组array,输出每位员工最终分到的奖金数量。

五、Java算法源码

public static void main(String[] args) {Scanner sc = new Scanner(System.in);int n = sc.nextInt();int[] array = new int[n];for(int i = 0; i < n; i++){array[i] = sc.nextInt();}Stack<Integer> stack = new Stack<>();for(int i = 0; i < n; i++){while(!stack.isEmpty() && array[stack.peek()] < array[i]){array[stack.peek()] = array[i]- array[stack.peek()];stack.pop();}stack.push(i);}for (int i = 0 ; i < n; i++){System.out.print(array[i]+" ");}
}

六、效果展示

1、输入

3
2 10 3

2、输出

8 10 3

在这里插入图片描述


🏆下一篇:华为OD机试真题 Java 实现【获得完美走位】【2023Q1 100分】

🏆本文收录于,华为OD机试(JAVA)(2022&2023)

本专栏包含了最新最全的2023年华为OD机试真题,有详细的分析和Java解答。已帮助1000+同学顺利通过OD机考。专栏会持续更新,每天在线答疑。

相关文章:

华为OD机试真题B卷 Java 实现【分奖金】,附详细解题思路

一、题目描述 公司老板做了一笔大生意&#xff0c;想要给每位员工分配一些奖金&#xff0c;想通过游戏的方式来决定每个人分多少钱。按照员工的工号顺序&#xff0c;每个人随机抽取一个数字。按照工号的顺序往后排列&#xff0c;遇到第一个数字比自己数字大的&#xff0c;那么…...

IMX6ULL平台I2C数据结构分析

IMX6ULL平台I2C数据结构分析 文章目录 IMX6ULL平台I2C数据结构分析i2c_clienti2c_adapterimx_i2c_structimx_i2c_hwdataimx_i2c_dma 在 i.MX 平台的 I2C 驱动中&#xff0c;存在多个相关的结构体&#xff0c;它们之间的联系和在内核中的作用如下&#xff1a; struct i2c_client…...

实时时钟 RTC(2)

RTC 使能与停止 RTC 上电后立即启动&#xff0c;不可关闭&#xff0c;软件应在32K 晶体振荡器完全起振后再设置当前时间&#xff1b;在晶体振荡器起振之前芯片使用内部环振计时&#xff0c;偏差较大。 RTC 时间设置 软件可以在任意时刻直接设置RTC 时间寄存器&#xff1b;由于…...

弄懂局部变量

成员变量和局部变量的区别 多个线程调用同一个对象的同一个方法时&#xff1a; 如果方法里无成员变量&#xff0c;那么不受任何影响 如果方法里有成员变量&#xff0c;只有读操作&#xff0c;不受影响 存在写操作&#xff0c;考虑多线程影响值 多线程调用…...

倾斜摄影三维模型数据的高程偏差修正的几何纠正技术方法探讨

倾斜摄影三维模型数据的高程偏差修正的几何纠正技术方法探讨 倾斜摄影是一种先进的数字摄影技术&#xff0c;可以生成高分辨率、高精度的三维模型数据。然而&#xff0c;在倾斜摄影中&#xff0c;由于相机的倾斜角度和地形的高程差异&#xff0c;可能会出现高程偏差问题。为了…...

怎么发表CCF期刊?CCF期刊有什么不同之处? - 易智编译EaseEditing

发表CCF期刊&#xff0c;可以参考一下步骤&#xff1a; 选择目标期刊&#xff1a; 首先选择一个适合自己的目标期刊&#xff0c;可以是CCF推荐的高水平期刊&#xff0c;也可以是其他被广泛认可的期刊。 撰写论文&#xff1a; 根据目标期刊的要求&#xff0c;撰写论文。确保论…...

feat:使用企业微信JS-SDK的onMenuShareAppMessage()实现点击转发自定义分享内容(TypeScript)

背景&#xff1a;企业微信应用使用企业微信JS-SDK的分享接口实现分享样式自定义 原生&#xff1a; 需要实现成&#xff1a; 企业微信JS-SDK 是企业微信面向网页开发者提供的 基于企业微信内 的网页开发工具包。 通过使用企业微信JS-SDK&#xff0c;网页开发者 可借助企业微信…...

Java键盘事件处理及监听机制解析

文章目录 概念KeyEventKeyListener代码演示总结 概念 Java事件处理采用了委派事件模型。在这个模型中&#xff0c;当事件发生时&#xff0c;产生事件的对象将事件信息传递给事件的监听者进行处理。在Java中&#xff0c;事件源是产生事件的对象&#xff0c;比如窗口、按钮等&am…...

Git详解——安装、使用、搭建、IDEA集成

Git 看目录&#xff0c;篇幅挺长&#xff0c;越往后面越重要 目录一、git是什么&#xff1f;二、为什么要使用Git&#xff1f;三、版本控制工具四、git下载安装以及环境配置五、git基本命令六、git项目搭建七、远程仓库怎么搞&#xff1f;git,gitlab,github,gitee区别八、ide…...

【JavaSE】Java基础语法(二十一):内部类

文章目录 1. 内部类的基本使用2. 成员内部类3. 局部内部类4. 匿名内部类5. 匿名内部类在开发中的使用&#xff08;应用&#xff09; 1. 内部类的基本使用 内部类概念 在一个类中定义一个类。举例&#xff1a;在一个类A的内部定义一个类B&#xff0c;类B就被称为内部类 内部类定…...

Ceph应用

//存储类型 块存储 一对一&#xff0c;只能被一个主机挂载使用&#xff0c;数据以块为单位进行存储&#xff0c;典型代表: 硬盘 文件存储 一对多&#xff0c;能被多个主机同时挂载使用&#xff0c;数据以文件的形式存储的(元数据和实际数据是分开存储的)&#xff0c;并且有…...

Oxford online English-Chair a Meeting 05/29

Part1-Welcoming attendees and starting the meeting Getting people’s attention If I could have your attention, please. Could I have your attention, please? Good afternoon, everyone. -> Good afternoon, everyone, could I have your attention, please?…...

LeetCode: 二叉树的直径(java)

二叉树的直径 leetcode 543题。原题链接题目描述解题代码二叉树专题 leetcode 543题。原题链接 543题&#xff1a;二叉树的直径 题目描述 给你一棵二叉树的根节点&#xff0c;返回该树的 直径 。 二叉树的 直径 是指树中任意两个节点之间最长路径的 长度 。这条路径可能经过也…...

springboot+vue+java旅行旅游景点酒店预订出行订票系统eaog5

线上旅行信息管理系统要求实现以下功能&#xff1a; a.景点管理&#xff0c;展示景点的基础信息&#xff0c;介绍等信息。 b.酒店管理,展示酒店的基础信息&#xff0c;介绍等信息。 c.评价管理&#xff0c;可以查看景点或酒店的相关评价信息&#xff0c;客户消费完&#xff0c;…...

Linux :: 【基础指令篇 :: 用户管理:(2)】::设置用户密码(及本地Xshell 登录云服务器操作演示) :: passwd

前言&#xff1a;本篇是 Linux 基本操作篇章的内容&#xff01; 笔者使用的环境是基于腾讯云服务器&#xff1a;CentOS 7.6 64bit。 学习集&#xff1a; C 入门到入土&#xff01;&#xff01;&#xff01;学习合集Linux 从命令到网络再到内核&#xff01;学习合集 目录索引&am…...

img[:, :, ::-1] 通俗理解

&#x1f468;‍&#x1f4bb;个人简介&#xff1a; 深度学习图像领域工作者 &#x1f389;工作总结链接&#xff1a;https://blog.csdn.net/qq_28949847/article/details/128552785 链接中主要是个人工作的总结&#xff0c;每个链接都是一些常用demo&#xff0c…...

基于springboot+vue+elementui的健身房会员管理系统的

为了帮助用户更好的了解和理解程序的开发流程与相关内容&#xff0c;本文将通过六个章节进行内容阐述。 第一章&#xff1a;描述了程序的开发背景&#xff0c;程序运用于现实生活的目的与意义&#xff0c;以及程序文档的结构安排信息&#xff1b; 第二章&#xff1a;描述了程序…...

在酒店房间中的数据库索引

如果你经常去酒店&#xff0c;你会看到一块类似下面的标牌&#xff0c;指引你到达房间。这能够帮助你方便快速地找到房间&#xff0c;特别是当酒店拥有许多房间时。 以一个有9层的酒店为例。你的房间号是917。第一步是找到你的房间在哪一层&#xff0c;通常第一个数字表示楼层…...

Zookeeper学习---2、客户端API操作、客户端向服务端写数据流程

1、客户端API操作 1.1 IDEA 环境搭建 前提&#xff1a;保证 hadoop102、hadoop103、hadoop104 服务器上 Zookeeper 集群服务端启动。 1、创建一个工程&#xff1a;Zookeeper 2、添加pom文件 <?xml version"1.0" encoding"UTF-8"?> <project …...

Stack 栈的实现与应用

目录 1. 概念 2. 常用的栈的方法 2.1 方法 2.2 代码 3. 自己实现栈 3.1 构造MyStack 3.2 push() 3.3 ensureCapacity&#xff08;&#xff09; 3.4 pop() 3.5 peek() 3.6 empty() 3.7 szie() 4. 栈的应用 1. 概念 栈&#xff08;Stack&#xff09;是一种数据结构&…...

超短脉冲激光自聚焦效应

前言与目录 强激光引起自聚焦效应机理 超短脉冲激光在脆性材料内部加工时引起的自聚焦效应&#xff0c;这是一种非线性光学现象&#xff0c;主要涉及光学克尔效应和材料的非线性光学特性。 自聚焦效应可以产生局部的强光场&#xff0c;对材料产生非线性响应&#xff0c;可能…...

反向工程与模型迁移:打造未来商品详情API的可持续创新体系

在电商行业蓬勃发展的当下&#xff0c;商品详情API作为连接电商平台与开发者、商家及用户的关键纽带&#xff0c;其重要性日益凸显。传统商品详情API主要聚焦于商品基本信息&#xff08;如名称、价格、库存等&#xff09;的获取与展示&#xff0c;已难以满足市场对个性化、智能…...

【JavaEE】-- HTTP

1. HTTP是什么&#xff1f; HTTP&#xff08;全称为"超文本传输协议"&#xff09;是一种应用非常广泛的应用层协议&#xff0c;HTTP是基于TCP协议的一种应用层协议。 应用层协议&#xff1a;是计算机网络协议栈中最高层的协议&#xff0c;它定义了运行在不同主机上…...

UDP(Echoserver)

网络命令 Ping 命令 检测网络是否连通 使用方法: ping -c 次数 网址ping -c 3 www.baidu.comnetstat 命令 netstat 是一个用来查看网络状态的重要工具. 语法&#xff1a;netstat [选项] 功能&#xff1a;查看网络状态 常用选项&#xff1a; n 拒绝显示别名&#…...

浅谈不同二分算法的查找情况

二分算法原理比较简单&#xff0c;但是实际的算法模板却有很多&#xff0c;这一切都源于二分查找问题中的复杂情况和二分算法的边界处理&#xff0c;以下是博主对一些二分算法查找的情况分析。 需要说明的是&#xff0c;以下二分算法都是基于有序序列为升序有序的情况&#xf…...

算法:模拟

1.替换所有的问号 1576. 替换所有的问号 - 力扣&#xff08;LeetCode&#xff09; ​遍历字符串​&#xff1a;通过外层循环逐一检查每个字符。​遇到 ? 时处理​&#xff1a; 内层循环遍历小写字母&#xff08;a 到 z&#xff09;。对每个字母检查是否满足&#xff1a; ​与…...

处理vxe-table 表尾数据是单独一个接口,表格tableData数据更新后,需要点击两下,表尾才是正确的

修改bug思路&#xff1a; 分别把 tabledata 和 表尾相关数据 console.log() 发现 更新数据先后顺序不对 settimeout延迟查询表格接口 ——测试可行 升级↑&#xff1a;async await 等接口返回后再开始下一个接口查询 ________________________________________________________…...

Scrapy-Redis分布式爬虫架构的可扩展性与容错性增强:基于微服务与容器化的解决方案

在大数据时代&#xff0c;海量数据的采集与处理成为企业和研究机构获取信息的关键环节。Scrapy-Redis作为一种经典的分布式爬虫架构&#xff0c;在处理大规模数据抓取任务时展现出强大的能力。然而&#xff0c;随着业务规模的不断扩大和数据抓取需求的日益复杂&#xff0c;传统…...

掌握 HTTP 请求:理解 cURL GET 语法

cURL 是一个强大的命令行工具&#xff0c;用于发送 HTTP 请求和与 Web 服务器交互。在 Web 开发和测试中&#xff0c;cURL 经常用于发送 GET 请求来获取服务器资源。本文将详细介绍 cURL GET 请求的语法和使用方法。 一、cURL 基本概念 cURL 是 "Client URL" 的缩写…...

Linux中《基础IO》详细介绍

目录 理解"文件"狭义理解广义理解文件操作的归类认知系统角度文件类别 回顾C文件接口打开文件写文件读文件稍作修改&#xff0c;实现简单cat命令 输出信息到显示器&#xff0c;你有哪些方法stdin & stdout & stderr打开文件的方式 系统⽂件I/O⼀种传递标志位…...