【华为OD题目0008-双十一】

华为OD题目0008-双十一

  • 华为OD题目0008-双十一

华为OD题目0008-双十一

题目描述
双十一众多商品进行打折销售,小明想购买一些自己心仪的商品,
但由于受购买资金限制,所以他决定从众多心意商品中购买3件,
而且想尽可能的花完资金,
现在请你设计一个程序帮助小明计算尽可能花费的最大资金额。

输入描述
第一行为整型数组M,数组长度小于100,数组元素记录单个商品的价格;
单个商品价格小于1000;
第二行输入为购买资金的额度R;
R < 100000。

输出描述
输出为满足上述条件的最大花费额度
如果不存在满足上述条件的商品请返回-1

示例一
输入
23,26,36,27
78
输出
76示例二
输入
23,30,40
26
输出
-1

直接上代码如下:


import java.util.*;
public class Main {public static void main(String[] args) {Scanner sc = new Scanner(System.in);String m = sc.nextLine();int r = sc.nextInt();solution(m,r);}private static void solution(String m,int r){String[] goodsPricesString = m.split(",");int[] goodsPrices = new int[goodsPricesString.length];for (int i =0;i<goodsPricesString.length;i++){goodsPrices[i] = Integer.parseInt(goodsPricesString[i]);}Arrays.sort(goodsPrices);if(goodsPrices.length < 3 || goodsPrices[0] + goodsPrices[1] + goodsPrices[2] > r){System.out.println(-1);return;}for(int i = goodsPrices.length-1;i>=0;i--){if(goodsPrices[i] + goodsPrices[i-1] + goodsPrices[i-2] < r){int sum = goodsPrices[i] + goodsPrices[i-1] + goodsPrices[i-2];System.out.print(sum);return;}}}
}

跟其他代码稍微不同之处:
使用数组的sort()函数排序后,肯定是从小到大,因此采用for循环从大小进行遍历,第一个遇到最大的三个数小于经费总额时,立即将最大的三个数的sum()和输出就行,该数值就是在有限钱下,所能最大化的花完钱(买了相对最贵的三个物品)
若有疑问,欢迎沟通!

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

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

相关文章

什么是CTO?如何成为一名优秀的CTO?

一、什么是CTO&#xff1f; 首席技术官&#xff08;CTO&#xff09;是一位负责领导和管理企业技术战略的高级职务。CTO的主要职责包括规划技术战略、监督研发活动、领导技术团队等。 二、CTO的主要职责 首席技术官&#xff0c;即CTO&#xff0c;是企业中负责技术和研发的高级管…

Redies基础篇(一)

Redis 是一个高性能的key-value数据库。Redies支持存储的value类型相对更多&#xff0c;包括string(字符串)、list(链表)、set(集合)和zset(有序集合)。这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作&#xff0c;而且这些操作都是原子性的&#xff…

【ETABS】【RHINO】案例:Swallow to ETABS

文章目录 01. Swallow Overview总览1 LOAD&#xff1a;Defination of LoadCase、Response Combo2 SectionArea Section and Area Load&#xff08;面截面定义与指定&#xff0c;面荷载指定&#xff09;Frame Section with rebarattr and linear load&#xff08;带钢筋属性框架…

下载,连接mysql数据库驱动(最详细)

前言 本篇博客&#xff0c;我讲讲如何连接数据库&#xff1f;我使用mysql数据库举例。 目录 下载对应的数据库jar 包 百度网盘 存有8.4.0版本压缩包&#xff1a;链接&#xff1a;https://pan.baidu.com/s/13uZtXRmuewHRbXaaCU0Xsw?pwduipy 提取码&#xff1a;uipy 复制这…

STM32-TIM定时器

本内容基于江协科技STM32视频内容&#xff0c;整理而得。 文章目录 1. TIM1.1 TIM定时器1.2 定时器类型1.3 基本定时器1.4 通用定时器1.4 高级定时器1.5 定时中断基本结构1.6 预分频器时序1.7 计数器时序1.8 计数器无预装时序1.9 计数器有预装时序1.10 RCC时钟树 2. TIM库函数…

前端面试题11(浅谈JavaScript深拷贝与浅拷贝)

在JavaScript中&#xff0c;数据的复制可以分为浅拷贝&#xff08;Shallow Copy&#xff09;和深拷贝&#xff08;Deep Copy&#xff09;。这两种拷贝方式主要区别在于如何处理对象中的嵌套对象。下面我会详细解释这两者的概念、区别&#xff0c;并提供相应的实现代码。 浅拷贝…

【机器学习实战】Datawhale夏令营:Baseline精读笔记2

# AI夏令营 # Datawhale # 夏令营 在原有的Baseline上除了交叉验证&#xff0c;还有一种关键的优化方式&#xff0c;即特征工程。 如何优化特征&#xff0c;关系着我们提高模型预测的精准度。特征工程往往是对问题的领域有深入了解的人员能够做好的部分&#xff0c;因为我们要…

链式二叉树oj题

1.输入k &#xff0c;找第k层节点个数 int TreeKlevel(BTNode*root,int k) {if (root NULL) {return 0;}if (k 1) {return 1;}return TreeKlevel(root->left, k - 1)TreeKlevel(root->right, k - 1); } 在这里我们要确定递归子问题&#xff0c;第一个就是NULL时返回&…

26_嵌入式系统网络接口

以太网接口基本原理 IEEE802标准 局域网标准协议工作在物理层和数据链路层&#xff0c;其将数据链路层又划分为两层&#xff0c;从下到上分别为介质访问控制子层(不同的MAC子层&#xff0c;与具体接入的传输介质相关),逻辑链路控制子层(统一的LLC子层&#xff0c;为上层提供统…

非同步升压转换器,效率95%你信吗?ETA1611输出电流2A, 22V DCDC

前言&#xff1a; 截止24年7月7日某创报价&#xff1a;500&#xff1a; &#xffe5;0.7856 / 个 建议使用前同时了解下方器件。 2毛钱的SOT23-5封装28V、1.5A、1.2MHz DCDC转换器用于LCD偏置电源和白光LED驱动等MT3540升压芯片 描述 ETA1611 SOT23-6封装 丝印GVYW&#xff0…

c进阶篇(三):字符串函数

1.strlen: strlen - C Reference strlen 函数是一个标准库函数&#xff0c;用于计算以 null 结尾的字符串的长度&#xff0c;也就是字符串中实际字符的数量&#xff0c;不包括最后的 null 终止符 \0。它定义在 <string.h> 头文件中。 函数原型:size_t strlen(const ch…

一篇就够了,为你答疑解惑:锂电池一阶模型-在线参数辨识(附代码)

锂电池一阶模型-在线参数辨识 背景在线 VS 离线 参数辨识递推最小二乘法一阶戴维南Z域离散表达式 背景 锂电池一阶戴维南等效模型的基础知识和离线辨识方法&#xff0c;已经在上一期非常详细地讲解了一轮&#xff08;上期文章请戳此处&#xff09;&#xff0c;本期继续讲解一下…

【数据结构】经典链表题目详解集合(反转链表、相交链表、链表的中间节点、回文链表)

文章目录 一、反转链表1、程序详解2、代码 二、相交链表1、程序详解2、代码 三、链表的中间节点1、程序详解2、代码 四、回文链表1、程序详解2、代码 一、反转链表 1、程序详解 题目&#xff1a;给定单链表的头节点 head &#xff0c;请反转链表&#xff0c;并返回反转后的链…

理解注意力机制与多头注意力:深度学习中的“聚焦术”

Attention 理解注意力机制与多头注意力&#xff1a;深度学习中的“聚焦术”什么是注意力机制&#xff1f;**核心思想** 什么是多头注意力机制&#xff1f;**工作原理** **多头注意力的优势****应用领域****结论** 理解注意力机制与多头注意力&#xff1a;深度学习中的“聚焦术”…

MLIR

方言 简介操作块区域值范围Control Flow and SSACFG Regions 操作与多区域&#xff08;Operations with Multiple Regions&#xff09;闭包&#xff08;Closure&#xff09;图形区域&#xff08;Graph Regions&#xff09;参数和结果&#xff08;Arguments and Results&#xf…

vscode编辑keil工程

1.编码问题 通常keil默认amsi格式&#xff0c;vscode默认utf-8格式&#xff0c;直接打开会出现乱码问题。 解决过程&#xff1a; 1.想着创建keil阶段&#xff0c;就使用utf-编码格式。 在区域设置里面“选择beta版&#xff0c;提供全球utf-8 提供全球语言支持”&#xff0c…

JVM专题之内存模型以及如何判定对象已死问题

体验与验证 2.4.5.1 使用visualvm **visualgc插件下载链接 :https://visualvm.github.io/pluginscenters.html https://visualvm.github.io/pluginscenters.html **选择对应JDK版本链接--->Tools--->Visual GC** 2.4.5.2 堆内存溢出 * **代码** java @RestCont…

从0制作自己的ros导航小车(01、准备工作)

@TOC 前言 本篇说明需要具备的知识和软硬件。可以不用全部具备,但基础要有,写的不是非常详细。 本小车分为上位机与下位机两部分,上位机使用旭日x3派运行ros进行开发和算法实现,下位机使用stm32驱动底盘和传感器数据采集。 一、知识 ①stm32部分(当然也可以使用其它控制…

uniapp/Android App上架三星市场需要下载所需要的SDK

只需添加以下一个权限在AndroidManifest.xml <uses-permission android:name"com.samsung.android.providers.context.permission.WRITE_USE_APP_FEATURE_SURVEY"/>uniapp开发的&#xff0c;需要在App权限配置中加入以上的额外权限&#xff1a;

1958.力扣每日一题7/7 Java(100%解)

博客主页&#xff1a;音符犹如代码系列专栏&#xff1a;算法练习关注博主&#xff0c;后期持续更新系列文章如果有错误感谢请大家批评指出&#xff0c;及时修改感谢大家点赞&#x1f44d;收藏⭐评论✍ 目录 思路 解题方法 时间复杂度 空间复杂度 Code 思路 首先将指定位…