JAVA -华为真题-分奖金

news2024/11/25 10:37:41

需求:

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

例如,按照工号顺序的随机数字是:2,10,3。

第2个员工的数字10比第1个员工的数字2大,所以,第1个员工可以获得1 * (10-2)=8。

第2个员工后面没有比他数字更大的员工,所以,他获得他分配的随机数数量的奖金,就是10。

第3个员工是最后一个员工,后面也没有比他更大数字的员工,所以他得到的奖金是3。

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

输入描述:
     第一行n表示员工数量(包含最后一个老板)
     第二是每位员工分配的随机数字 

输出描述:
     最终每位员工分到的奖金数量

输入:
        3         -->个数
        2 10 3  -->随机数
输出:
        8 10 3 --> 结果

编码:

public class TakePrize {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.print("请输入员工数量:");
        int len = sc.nextInt();

        System.out.print("随机生成员工号:");
        //调用方法1
        List<Integer> list = norepeat(len);
        System.out.println(list.toString());

        //调用方法2
        List<Integer> ll =show(list);
        System.out.println("员工分的奖金数:"+ll.toString());
    }

    /**
     * 开始遍历,并查找到第一个比自己大的数,那么就自己的奖金就是这个数减自己的数,如果没有,就自己的奖金就是本身随机数。
     * @param list
     * @return
     */
    private static List<Integer> show(List<Integer> list) {
        int flag = 0;
        List<Integer> lists = new ArrayList<>();
        //循环比较
        for (int i = 0; i < list.size(); i++) {
            for (int j = i+1 ; j < list.size(); j++) {
                //判断前一个数是否大于后面的数
                if (list.get(i) < list.get(j)) {
                    Integer money = (list.get(j) - list.get(i)) * (j - i);
                    lists.add(money);
                    flag = 1;
                    break;
                }
            }
            //如果没有大于后面值
            if (flag == 0) {
                lists.add(list.get(i));
            }
            flag = 0; //重置
        }
        return lists;
    }


    /**
     * 随机数字不重复,员工数量(包含老板)范围1 ~ 10000
     *
     * @param count
     * @return
     */
    public static List<Integer> norepeat(int count) {
        //随机对象
        Random random = new Random();
        //set集合对象
        Set<Integer> set = new HashSet<>();
        //循环
        while (true) {
            //随机数范围1 ~ 10000
//            int number = random.nextInt(10000) + 1;
            int number = random.nextInt(10) + 1;
            set.add(number);
            //判断是否满足员工数量
            if (set.size() >= count) {
                break;
            }
        }
        //返回集合对象
        return new ArrayList<>(set);
    }
}

效果: 

 

 

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

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

相关文章

【IoT】生产制造:锅仔片上机做 SMT 加工吗?

目录 简介 锅仔片 简介 由于最近做产品用到了锅仔按键&#xff0c;由于单品用量过多&#xff0c;但是成品锅仔按键价格又太高&#xff0c;不适合量产。 这个时候就想到了锅仔片&#xff0c;问题又来了&#xff0c;锅仔片是否可以上机呢&#xff1f; 答案是肯定的。 锅仔片…

Pytest系列-使用自定义标记mark

简介 pytest 可以支持自定义标记&#xff0c;自定义标记可以把一个 web 项目划分为多个模块&#xff0c;然后指定模块名称执行 Pytest 里面自定义标记 用法&#xff1a;将pytest.mark.标记名称 放到测试函数或者类上面 使用&#xff1a; 执行时加上 -m 标记名 进行用例筛选…

K8S:Yaml文件详解及编写示例

文章目录 一.Yaml文件详解1.Yaml文件格式2.YAML 语法格式 二.Yaml文件编写及相关概念1.查看 api 资源版本标签2.yaml编写案例&#xff08;1&#xff09;相关标签介绍&#xff08;2&#xff09;Deployment类型编写nginx服务&#xff08;3&#xff09;k8s集群中的port介绍&#x…

Revit SDK 介绍:TraverseSystem 用广度遍历的方式遍历MEP系统

前言 这个例子介绍了用广度遍历的方式遍历MEP系统。 内容 打开 Revit 自带例子&#xff0c;选择红框中的某条风管&#xff0c;不要选择机械&#xff0c;图中选中只是为了和遍历结果对应&#xff1a; 红色区域到风管机的遍历结果&#xff1a; 核心逻辑 遍历逻辑主函数&am…

Visual Studio将C#项目编译成EXE可执行程序

经常看文章时会收获不少实用工具&#xff0c;有的在github上是编译好的&#xff0c;有的则是未编译的项目文件。所以经常会使用Visual Studio编译项目文件成exe可执行程序&#xff0c;以下为编译的流程。 第一步&#xff0c;从github上下载项目文件&#xff0c;举个例子&#…

解决`SQLyog Trial`试用到期的问题(提供一个脚本解决方案)

文章目录 一、要删除的注册表项二、写了个脚本干这个事儿三、最后 本文将总结SQLyog Trial试用到期的问题。 其实解决起来很简单&#xff0c;就是将SQLyog相关注册表删掉即可 一、要删除的注册表项 WinR打开运行&#xff0c;输入regedit回车&#xff0c;打开注册表 在HKEY_C…

基于Elasticsearch的多文档检索 比如 商品(goods)、案例(cases)

概述 Elasticsearch多文档聚合检索 详细 记得把这几点描述好咯&#xff1a;需求&#xff08;要做什么&#xff09; 代码实现过程 项目文件结构截图 演示效果 应用场景 我们需要在五种不同的文档中检索数据。 比如 商品&#xff08;goods&#xff09;、案例&#xff08;ca…

汇编程序设计MOOC精选题

一、微型计算机基础 1.微型计算机各部件之间是用&#xff08;系统总线&#xff09;连接起来的 2.冯诺依曼结构确定计算机的五个基本部件&#xff1a;i/o&#xff0c;存储器、控制器和&#xff08;运算器&#xff09; 微处理器通过&#xff08;数据&#xff09;总线 向存储器和…

java程序处理三张表要进行怎么样的操作

首先第一步梳理思路&#xff0c;id没有存在说明是新添加的&#xff0c;如果id存在那就是对现有文章的修改。 /*** 发布文章或保存草稿** param dto* return*/Overridepublic ResponseResult submitNews(WmNewsDto dto) {//0.条件判断if(dto null||dto.getContent() null){ret…

CKA 真题练习(十六)备份还原etcd

题目&#xff1a; 首先&#xff0c;为运行在 https://11.0.1.111:2379 上的现有 etcd 实例创建快照并将快照保存到 /var/lib/backup/etcd-snapshot.db (注意&#xff0c;真实考试中&#xff0c;这里写的是 https://127.0.0.1:2379) 为给定实例创建快照预计能在几秒钟内完成。 …

Java 时间范围

前端使用Element-ui 时间范围组件 后端注意在Vo里面时间设置String类型不要设置Date类型 XMl组件字段映射成功性

【基于Cocos Creator实现的赛车游戏】9.实现汽车节点的控制逻辑

转载知识星球 | 深度连接铁杆粉丝&#xff0c;运营高品质社群&#xff0c;知识变现的工具 项目地址&#xff1a;赛车小游戏-基于Cocos Creator 3.5版本实现: 课程的源码&#xff0c;基于Cocos Creator 3.5版本实现 在上一节的课程中&#xff0c;您已经实现了通过触控给刚体施…

LIO-SAM论文与代码总结

看了一些注释版的代码和博客&#xff0c;很多都很详细&#xff0c;但是有的看起来比较绕&#xff0c;或者对一些名词和定义的解释有歧义&#xff0c;不一定就说错了&#xff0c;但是仍然不方便自己理解&#xff0c;所以自己梳理一下&#xff0c;顺便记录。 目录 原文附带架构…

js 小数相乘后,精度缺失问题,记录四舍五入,向下取整

在做项目的时候&#xff0c;有一个计算金额的&#xff0c;结果发现计算的金额总是缺失0.01&#xff0c;发现相乘的时候&#xff0c;会失去精度&#xff0c;如图所示。被这整的吐血&#xff0c;由于计算逻辑由前端计算&#xff0c;所以传值后端总出错(尽量后端计算)。 还发现to…

React Native 环境配置(mac)

React Native 环境配置&#xff08;mac&#xff09; 1.Homebrew2.Node.js、WatchMan3.Yarn4.Android环境配置1.安装JDK2.下载AndroidStudio1.国内配置 Http Proxy2.安装SDK1.首先配置sdk的路径2.SDK 下载 3.创建模拟器4.配置 ANDROID_HOME 环境变量 5.IOS环境1.升级ruby&#x…

SQL8 查找某个年龄段的用户信息

描述 题目&#xff1a;现在运营想要针对20岁及以上且23岁及以下的用户开展分析&#xff0c;请你取出满足条件的设备ID、性别、年龄。 用户信息表&#xff1a;user_profile iddevice_idgenderageuniversityprovince12138male21北京大学Beijing23214male复旦大学Shanghai36543…

神经网络 06(优化方法)

一、优化方法 网络搭建好&#xff0c;损失函数设计好之后&#xff0c; 根据损失函数更新参数(权重&#xff0c;偏移)。参数更新过程就是一个神经网络优化过程。 二、梯度下降方法 梯度下降法简单来说就是一种寻找使损失函数最小化的方法。从数学上的角度来看&#xff0c;梯度…

仿东郊到家app系统及功能介绍

类似东郊到家app系统开发&#xff0c;预约sap东郊到家软件定制开发&#xff0c;东郊到家小程序APP开发&#xff0c;东郊到家模式系统定制开发 一、东郊到家软件介绍 1、东郊到家app是一家以推拿为主项&#xff0c;个人定制型的o2o平台&#xff0c;东郊到家app平台提供、正规、安…

计算即时订单比例-首单使用开窗函数row_number()

1 需求 即时订单和计划订单 订单配送中&#xff0c;如果期望配送日期和下单日期相同&#xff0c;称为即时订单&#xff0c;如果期望配送日期和下单日期不同&#xff0c;称为计划订单。 请从配送信息表&#xff08;delivery_info&#xff09;中求出每个用户的首单&#xff08;用…

langchain主要模块(一):模型输入输出

langchain2之模型输入输出 langchain1.概念2.主要模块模型输入/输出 (Model I/O)数据连接 (Data connection)链式组装 (Chains)代理 (Agents)内存 (Memory)回调 (Callbacks) 3.模型输入/输出 (Model I/O)提示提示模板示例选择器 模型LLMsChatModels 输出解释器 langchain 1.概…